Skip to main content

Full text of "Understanding Digital Computers"

See other formats




About the book , • • 

This book ban ninny romnrk 

able feature's, but il Is the Inut 
chapter which most demmuls 
special attention. In this < haptei, 
which offers a detailed tlose iIp 
tion of a specimen < ompnlei, the 
author ties together the ( out eph 
and principles thal Imvr been •.() 
clearly and carefully developed 
earlier in the book. II Is, in fi 
sense, the “capstone" of nn un 
usually thorough, easy to follow, 
and well conceived exposition ol 
the principles involved in opeial 
ing and programming digital 
computers. 

After an introduction which 
gives a broad explanation ol whal 
a computer is, the exposition is 
divided into three main sections: 
Section I discusses the basic lop, 
ical elements; Section II summar¬ 
izes the circuits which can be 
used as computer building blocks 
and at the same time reinforces 
the previously learned logical 
concepts; the last covers the 
functional parts of the computer 
and ends with the above men 
tioned chapter on a spec Irnnn 
computer, which effectively pul , 
across the practical moaning "i 
the material presented earlier In 
the book. The emphasis thmiigh 
out is on principles mlhei limn 
hardware, and eai h prim (pie i»» 
presented and developed with ♦ 

host ol illuminating < angli n in I 
a minimum nl « nniple* m-iilin 
rnnlics. I o aid the o td» i Ihm*i 
is a siimmaiy el Iht end nl m e It 
er with h lie ludiiii » n*a el 

1 1 1 1 1 M •» 1 ml tlelhnl .. t nil 

telned 



M if Mill 
























































About the author... 

Paul Siegel is a systems engi¬ 
neer with the International Elec¬ 
tric Corporation, an associate of 
the International Telephone and 
Telegraph Corporation, where he 
is presently studying exotic appli¬ 
cations of digital computers to 
sophisticated command and con¬ 
trol systems. At ITT he has also 
been involved in the coordination 
of systems testing and in the de¬ 
velopment of standards for eas¬ 
ing the flow of information 
through a systems management 
organization. 

At the Burroughs Research 
Center, with which he was asso¬ 
ciated previous to assuming his 
present position, the author 
worked on important research 
documents on magnetic and 
transistor digital circuit tech¬ 
niques to be used on SAGE. He 
has also been associated with 
Remington Rand Univac and has 
taught and lectured both here 
and abroad on electronic sub¬ 
jects. He holds a B.S. in physics 
from City College of New York 
and an M.S. in electrical engi¬ 
neering from Rutgers University. 





By Montgomery Phister, Jr., Scantlin Electronics, 
Inc: Here js a sound, useful approach to the logical 
design of computer systems. Stressing general tech¬ 


niques rather-than specific computers, the. book is 

deplete with" worked-out examples and requires no 
previous experience on? the part of the reader. Be¬ 
cause of the importance of Boolean algebra to the 
designer, a full.chapter 'is devoted to developing the 
subject. The various methods of simplifying Boalean 


functions are treated in a separate chapter,; .which 
covers the Quine methods and the Harvard method as 
well as tfyp Veitch diagram method of simplification, 
The book'represents the first pubTished.„description of 
the logicahequation school of design. ‘ 1958. 408 
pages. .' « > 


By Daniel D. IWe€racken, Private Coneptant in 
Computer Programming; and Harold Weiss and Tsai- 
Hwa Lee, both of the Computer Department of the 
General Electric Company. This book provide^an ele¬ 
mentary yet authoritative study of the commercial as¬ 
pects of electronic computing. It has been specifically 
designed for readers who lack a background in math&r 
matics but who are interested in the application of 
computers to business data processing. 

. J,, 

“Here is the first top-notch book on programming, 
of electronic data processing machines. A number of 
books have been published on the subject, several of 
them recently, but the coverage in this mew book by 
McCracken-Weiss-Lee is the best we tiaye seen— 
comprehensive, authoritative, and .up-to-date.’’- -Data 
Processing Digest. 1959. 510 pages, 


nv-LiEJia 




























Understanding 
digital computers 



















PAUL SIEGEL 

International Electric Corporation 

Associate of ITT 


JOHN WILEY AND SONS, INC. 
NEW YORK AND LONDON 























Copyright © 1961 by John Wiley g, Sons, Inc. 


All Rights Reserved. This book or any part 
thereof must not be reproduced in any form 
without the written permission of the publisher. 

Library of Congress Catalog Card Number: 61-15412 
Printed in the United States of America 

SECOND PRINTING, MARCH, 1963 


To my wife, Evelyn, 
without whose forbearance 
I never could have found 
the time to work on this book 





Preface 


This book is a comprehensive introduction to the fundamentals of 
digital computers and data processors. It tries to give the reader a firm 
understanding of these machines and their design. After finishing it the 
reader will be able “to talk the language.” 

The book is written primarily for the technician who is thinking of 
entering the digital computer field. But anyone with a basic understanding 
of electronics—a “ham” for instance—can read it with complete under¬ 
standing. 

Not a design handbook, it is about principles, and each principle is 
illustrated by means of examples. 

The book has an introductory chapter and a body divided into three 
sections. The introductory chapter describes the digital computer and its 
functions. In a sense, it is a distillation of the entire book. It provides the 
reader with an appreciation—a feel—for digital computers and a craving 
to learn more about them. 

The three sections of the book take the reader from the theoretical 
discussion of elemental logical elements to circuits which can be used 
as building blocks, and conclude with the building of a specimen 
computer. 

None of the material found herein is original. For the most part it has 
been extracted from papers appearing in the Proceedings of the Institute of 
Radio Engineers , the Journal of the Association for Computing Machinery , 
and other technical journals. But I do believe that the material is presented 
in a fashion which facilitates learning. Basic ideas are presented first, and 
each succeeding chapter builds upon the facts presented in previous 
chapters. The essence of each chapter is put into a summary which includes 
a list of definitions of key words developed in that chapter. The exposition 
is made as simple and with as little mathematics as possible. 

I gratefully acknowledge the constructive criticism of A1 Meyerhoff and 

vll 


VIII 


PREFACE 


Ed Veitch of Burroughs Corporation, and I am especially indebted to 
James Maginnis, Director of the Computing Laboratory of Drexel 
University, for his thorough critique of this work. 

Paul Siegel 

Washington Township , 

P.O. Westwood , New Jersey 
June 1961 


Contents 


1 Introduction: What is a Digital Computer I 

section I. LOGIC AND ARITHMETIC 21 

2 Word and Number Languages 23 

3 Arithmetic Processes 56 

4 Machine Logic 79 

section II. BUILDING BLOCKS 99 

5 Mechanical and Electromechanical Components 101 

6 Vacuum-Tube and Related Components 120 

7 Electromagnetic Components 150 

8 Germanium Diodes and Transistors 185 

9 Other Devices and Circuits 209 

10 Logical and Functional Building Blocks 226 

section III. FUNCTIONAL UNITS OF A 

DIGITAL COMPUTER 235 

11 Machine Language 237 

12 Memory Unit 254 

13 Input-Output System 274 

14 Arithmetic Unit 299 


X 


CONTENTS 


15 Control Unit 

16 A Specimen Computer 

Bibliography 

Glossary 

Index 


326 

347 

383 

385 

395 


CHAPTER I 

Introduction: 

What is a digital computer? 

What is a digital computer? Is it a lightning calculator which can 
multiply two 10-digit numbers in the time it takes a jet plane to fly 1 inch? 
Is it a data-processing machine which can automatically spew out yards of 
accurate and complete business reports? Or is it a device which can make 
decisions and check its own work? Or a device which accepts a set of 
thousands of instructions and then faithfully executes them in the appro¬ 
priate sequence without outside help? 

The digital computer is all these and more. It is more because its 
complicated mechanism is composed of childishly simple, basic elements; 
because it applies the rules of logic to simulate many of the functions of 
the human brain; and because of its fantastic accuracy, reliability, and 

flexibility. 

The basic principles of operation of the remarkable electronic digital 
computer are portrayed in this introductory chapter. The more prosaic 
details of operation are presented in the remaining chapters. 


DIGITAL DEVICES 

In what way is a digital computer different from the many calculating 
machines man has devised ever since he learned how to count? Before 
wc can discuss the digital computer itself, we must know what is meant 

by a digital device. 

The simplest digital device is any device which can count. The simplest 
of all counting devices are the ten fingers. As a matter of fact, the word 
“digital'’ is derived from the latin digitus , which means finger. Another 
simple digital device is the clock. It ticks away, or counts, little bits of time 

called seconds. 


I 


2 


UNDERSTANDING DIGITAL COMPUTERS 



Fig. I. The counting board and the abacus, (a) Counting board, (b) Abacus—Chinese, 
(c) Abacus—Japanese. 


WHAT IS A DIGITAL COMPUTER? 


3 


In ancient days man learned to substitute beads for fingers in order to 
help him count. He built a counting board which consisted of several stiff 
wires mounted on a wooden frame, with ten sliding beads on each wire 
(Fig. la). By moving a certain number of beads toward the bottom of the 
board, any digit from 0 to 9 can be placed on each of the wires. Even 10 
can be placed on a wire, as is shown in the figure. This 10 is interpreted as 
a 0 in the indicated column plus a carry of 1 to the column to its left. 
The counting board in the figure is storing 630,740. 


6,3 8 2.5 0 



+ 4,2 1 2.1 4 



1 0,5 9 4.6 4 


Fig. 2. Addition by means of abacus. 

The ancient Chinese simplified the counting board into the abacus 
(Fig. 16). Instead often beads on each wire, the abacus has seven. Two 
beads are mounted above a dividing wooden member, and five beads are 
mounted below the wooden member. All beads are in neutral position 
when they are furthest from the dividing member. Each of the lower 

beads has a value of one; each of the upper beads has a value of five. The 

number 1,086,554,321 is stored in the abacus of Fig. lb. 

The Japanese made the abacus more efficient. They used only five beads: 
four 1-unit beads below the dividing member and one 5-unit bead above. 
The number 987,654,321 is stored in the Japanese abacus of Fig. lc. 
Figure 2 illustrates how the Japanese abacus is used to add $6,382.50 






5 


4 UNDERSTANDING DIGITAL COMPUTERS 

and $4,212.14. First $6,382.50 are placed in the abacus as shown. The 
first period from the left on the dividing member is used as a comma and 
the second period is used as a decimal point. Four 1-unit beads are added 
to the rightmost column; one 1-unit bead is added to the 5-unit bead 
stored in column 2 (assuming that columns are numbered consecutively 
starting with the rightmost column as 1); two 1-unit beads arc added to 
the two 1-unit beads in column 3; and a 1-unit bead is added to the repre¬ 
sentation for eight stored in column 4. 

In the fifth column the operation is not so straightforward because two 

1-unit beads must be added to the three already stored. This cannot be 
done since there are only four 1-unit beads to a column. So all the 1-unit 
beads are brought back to neutral and the 5-unit bead is brought down to 
the reading position. In column 6 we must add four 1-unit beads to a 
column where a 1-unit bead and the 5-unit bead arc already stored. This 
is obviously impossible since there are only three 1-unit beads left in the 
column. So all the beads are brought to neutral and a carry is placed in 
column 7. The sum can be read from the abacus as $10,594.64. 

By extensions of the above process, subtraction, multiplication, and 

division nay be perforned on the abacus. 


MECHANICAL CALCULATING MACHINES 

A great step forward in the art of adding mechanically was made by 
Blaise Pascal in 1642. Pascal used wheels divided into parts instead of 
wires holding ten beads. The ten-part wheel can be compared to the wire 
with the ten beads bent so the two ends meet. The wheel represents a 
great improvement over the bead-holding wire, especially in the production 
of a carry. When going from 9 to 0 in any one column of the abacus, 
all the beads must be brought to neutral and a unit bead must be added 
to the column to its left. In the wheel-using machine just one turn of the 
wheel is all that is needed. The wheel moves to 0 and mechanical linkage 
is used to automatically cause a small carry movement in the wheel to its 

left. 

Figure 3 shows 6431 stored in a wheel-using calculator. To add 7453 
to this number, each wheel is caused to turn by the indicated number of 
wheel divisions. During the rotation of the fourth wheel from the right, 
the 0 division passes the reading position, causing a carry to the fifth 
wheel. By means of mechanical linkage, the fifth wheel moves from 0 to 1. 

The sum 13,884 is retained in the calculator. 

Modern mechanical calculating machines also use wheels. Electric 
motors cause the wheels to turn at a rapid rate, yet the basic principle 


WHAT IS A DIGITAL COMPUTER? 

behind modern calculators is the same as that used by Pascal in his machine. 
An important achievement has been made, namely, electric power is 
substituted for hand power. However, the drudgery of placing individual 
digits into the machine is still present. 



Fig. 3. Adding by means of wheel calculator. 


ELECTRONIC CALCULATING MACHINES 

To speed up the counting process, electronic devices may be substituted 
for mechanical wheels. By shifting electrons from one place to another 
for each unit of the digit, the same counting effect can be produced as by 
moving a bead at a time, or turning a wheel a division at a time. A 
diagrammatic representation of this idea is shown in Fig. 4. Instead of a 
column being represented by a wheel, it is represented by a circle of ten 
circuits shown as boxes in this figure. Originally the 0 box in each column 
is energized. Upon receipt of a bit of electric energy representing a unit, 
electrons flow from the energized box to the next box. Each successive bit 
of energy causes activation of the box next in line. As with the mechanical 
arrangement, the pulse which causes activation of the 0 box again, also 


6 UNDERSTANDING DIGITAL COMPUTERS 

causes a carry pulse—a bit of electric energy -to be applied to the circle 
on the left. 

In practice there is no need to put these “boxes” in a circle. It was done 

here only to show the analogy with mechanical wheels. 

Why should a machine using moving electrons be so much faster than 
one using mechanical wheels? The answer to this question is very simple. 
The speed with which anything can be made to move depends on its 
weight, and the weight of an electron is practically nonexistent when 


Carry 



compared to any mechanical gadget. Thus, with very little energy applied, 
electrons can be made to travel at tremendous speeds. This fact enables us 
to build computers which can perform 500,000 additions in the time it 
takes a comptometer operator just to touch a key on her keyboard. 

With machines of such lightning speed, it becomes ridiculous to have 
the operator feed it one problem at a time. Therefore, a logical control 
was built into the computer. This logical control enables the machine to 
accept a complete routine of instructions at one time, and then perform 
each instruction in the proper sequence. As a matter of fact, as will be 
seen later, the logical control enables the machine to accept generalized 
instructions which can cause it to perform more operations than are actually 

fed into the machine. 

The tremendous speeds at which these machines can work, and the 
flexibility built into them due to the logical control, make modern elec¬ 
tronic digital computers a thousandfold more powerful than mechanical 

calculators. 


WHAT IS A DIGITAL COMPUTER? 7 

ANALOG VERSUS DIGITAL COMPUTERS 

Even before the advent of the electronic digital computer, the analog 
computer was busy doing important jobs which could not be performed 
by desk calculators. For instance, instead of building a costly experi¬ 
mental model of an airplane and then running exhaustive wind-tunnel 
tests, the whole “experiment” can be performed by the analog computer. 
Instead of using an actual airplane, design data for an airplane are fed 
into the analog computer. Instead of using a wind tunnel, formulas 
representing the effects produced by varying flight conditions are fed into 
the computer. The output of the analog computer is usually a curve 
representing results for a complete set of conditions. Effectively, the tests 
are performed without any hardware. Upon completion of one “experi¬ 
ment,” the computer is ready to perform a new “experiment.” 

What exactly is an analog computer? or, more fundamentally, an analog 
device? An analog device is any device whose operation is analogous to 
some physical quantity we want to measure. A thermometer is a simple 
analog device. It compares, or draws an analogy, between the expansion 
of mercury and temperature. A simple spring balance is another analog 
device. It compares the weight of an object with the force necessary to 
move a spring. Other examples are the oil-pressure gage in the car and 
the glass graduate used to prepare baby’s formula. 

If an analogy can be formed between the operation of a device and a 
mathematical process, this device can form the basis for an analog com¬ 
puter. Many physical phenomena may be used to construct analog com¬ 
puters. But since electrons are so mobile, most present-day analog 
computers perform mathematical operations with the aid of electronic 
circuits. Electronic circuits have been built which perform operations 
analogous to those of addition, subtraction, multiplication, division, 
and even higher mathematical operations such as integration. For instance 
to add 6 and 5, a 6-volt signal and a 5-volt signal are fed to an electronic 
adder. The circuit of the electronic adder is designed so that, under these 
circumstances an 11-volt signal is produced as output. Similar effects 
occur with the subtractor, multiplier, divider, and integrator. 

Notice that in analog computers, measurement is always involved; in 
digital computers, numbers are used. Data in analog computers change 
smoothly; data in digital computers change in discrete steps. Analog 
computer results must be read off a scale. Results of digital computation 
are given by means of a representation for the digits of the number. 

There is a limit to the accuracy obtainable from an analog computer. 
This is so because there is a limit to the accuracy with which one can read 






8 UNDERSTANDING DIGITAL COMPUTERS 

i ThP scale can be enlarged to increase the available accuracy. 
« done. ,he accuracy of ,he — 

scale must be improved Eventua * E atly the available accuracy. 

call, unlimited Th|S .s so ^“^adTrs are „ eeded t0 add a 5-digit 
column in a set of figures, in , . . a re needed to add a 

appropriate number of circuits. 

FAST MORON VERSUS SLOW GENIUS 

The digital computer is extremely fast, but ^ “ 

Basically all the machine can doto this 

question'is’^at^for Trespectable 

sophisticated they may appear, they'cani e f digits is per- 

Subtraction is the converse of addition^ Addition ^ ^ 

formed by first counting Subtraction is performed in a similar 

^ttlS TJSSm - - opposite direc- 

^MuWpuStion is a rapid form of addition. For instance, 


5 

X6 

30 


is equivalent to 


6 
6 
6 
6 
6 

30 


Since division is the converse of multiplication, division may be considered 

to be an advanced form of subtraction. instance in order 

Algebra is an extension of arithmetic processes. For instance, 

to find X in 2 T = 8 + 4 

both sides are divided by two, giving 

8 + 4 _ 12 = 6 

X ~ 2 2 

The answer is obtained by means of ordinary arithmetic. 


WHAT IS A DIGITAL COMPUTER? 9 

Even the process of integration used in calculus can be shown to be 
equivalent to a series of additions. Integration is a means for finding the 
area included by a curve. Mathematicians have developed formulas and 
rules for performing integration. But finding the area included by a curve 
can be done in a much more simple manner. 

For instance, to find the area of triangle ABC in Fig. 6, the length of the 
base (4) is multiplied by one-half the altitude (2). Another method of 
obtaining the same answer is to divide the triangle into four rectangles 


5 



3 + 4 = 7 


5 



3 



Fig. 5. Difference between addition and subtraction. 


and then sum the areas of the rectangles. This gives the correct answer 
because the area outside of the triangle which each rectangle covers is 
just as large as the area inside the triangle which each rectangle does not 
cover (triangle DEF is equal to triangle EGH in Fig. 6). Dividing the 
triangle into many more rectangles and summing the areas provide the 
same answer. 

Suppose the same process is performed on the circle of Fig. 7. If the 
circle is divided into three rectangles and the areas of the rectangles are 
summed, only the approximate area of the circle is obtained. This is so 
because area A BC is not exactly equal to area CDE , and the areas bounded 
by EFGH and E'F'G'H' are not counterbalanced by any other area. 
However, if the circle is divided into more and more rectangles (Figs. 
lb and 7r), the sum of the rectangle areas gets closer and closer to the 
true area of the circle. By dividing the circle into very many rectangles 


10 UNDERSTANDING DIGITAL COMPUTERS 

and summing their areas, an excellent approximation to the area of the 
circle may be obtained. This process can be used for finding the area 

included in any curve or sets of curves. 

The mathematician—the genius—does not plod through all this work. 
He has developed formulas and rules which he uses similar to shorthand. 
With the use of this shorthand method he arrives at the correct answer 



Fig. 6. Obtaining area of triangle. 

quickly. The machine—the moron—does the problem the slow way by 
summing a large number of rectangles. But the machine is inherently so 
much faster that it arrives at the answer faster with the slow, stupid method 
than the mathematical genius with his supposedly short sophisticated 
method! 


WHAT IS A DIGITAL COMPUTER? 







Fig. 7. Obtaining area of circle. 



SIMPLE HARDWARE, COMPLICATED LOGIC 

The computer, then, does only additions in a sequence determined by a 
logical control. This seems to imply that it is a simple machine. In a sense 
it is, since only a handful of different types of circuits are needed to build 
the most awesome machine in existence. What then produces the com¬ 
plication? The complication is produced by the many interconnections 
among these few basic circuits. The method of interconnection is called 
logic, and the few basic circuits are called logical elements. 

Of course, you are wondering how the concept of logic fits into a dis¬ 
cussion of computers. A digital computer processes information. In 










12 


UNDERSTANDING DIGITAL COMPUTERS 


that sense each part of it can be said to be communicating with or “speak- 

of the machine. For this purpose the machine use a 

“language ” Whatever form this language may take, it must possess rules 
S how subjects are connected. These connectives are similar to 

connectives used in ordinary speech. Some of these ctNesare 

tives are “if all, then, also, and, or not, only .... These connectives a 

the cement of the language. They indicate the relatl ^^ o S rt a a ^ t °f| r in _ 
different elements of a sentence. Because they are so important lor in 

dicating relationships, they are the fundamental building blocks of logic. 

These connectives not only indicate the relationships .mong idements 
a sentence but also among propositions tn a logteal syllogism, 
following syllogism for instance: 

If all men have two eyes, 
and you are a man, 
then you have two eyes. 

What are the key words? The connectives “if,” “and,” “then.” Take 
another syllogism: 

Freedom is possible only in a democracy. 

Russia is not a democracy. 

There is no freedom in Russia. 

The important connectives within the sentences, in this case, are “only,” 
“not ” “no ” The key words which connect the three statements are 
understood to be “if” before the first sentence, “and” before the second 

sentence and “then” before the third. 

Now here is the important consideration. All the possiible, connec wes 

mav be reduced to only three basic ones—“and", “or,” and not . is 
Tdiscu^d more fully in Chapter 4. Suffice it to say here that, if a circuit 

could be developed for each of the three logical connectives, we wou d have 
the necessary cement for the machine language. Then we only would need 
drcufis to store the “propositions” before and after being applied through 
the'connective circuits. These connective and storage circuits are called 

‘Torments may lake on many forms. Originally, relays were used 
for this purpose. Early in the development of electronic compute , 
relayswere replaced almost entirely by vacuum tubes. But a new era 
dawned when the magnetic core, the transistor, and many“““ 
devices were developed. These tiny components enabled manufactu 
to reduce the size of electronic computers to the point where they beca 
fe."ble for use in ordinary offices. In addition, the fact that only a 


WHAT IS A DIGITAL COMPUTER? 


13 


handful of basic circuits are needed to construct a computer encouraged 
the development of plug-in packages. These plug-in packages simplified 
the maintenance problem, tremendously. 

FUNCTIONAL ORGANIZATION OF THE COMPUTER 

To repeat, the logical elements built into the computer are simple. 
The big problem in understanding digital computers is the logic which ties 
the logical elements into a unit performing arithmetic and logical opera¬ 
tions. 

Fortunately, all computer operations can be grouped into five functional 
categories. The method in which these live functional categories are 
related to one another represents the functional organization of a digital 
computer. By studying the functional organization, a broad view of the 
computer is obtained, a view which will aid materially in the study of 
the detailed logic. 

To gain an understanding of the functional organization, let us analyze 
what we do when confronted with a simple problem such as: 

55 x 35 + 67 x 25 - V 

To begin with, we pick up a pencil and record the problem on a sheet of 
paper. Next we decide which portion of the problem to do first. Let us 
assume we decide to do the first multiplication. We record the problem on 
another part of the paper and perform the calculation. As soon as the 
calculation is done, we store the product on another part of the paper. 
Next, we perform the second multiplication and store its product; then 
we do the division and store the quotient. Now we add the two products, 
and then subtract the quotient from the sum. The calculating steps in the 
procedure are summarized below. 


(1) 

(2) (3) 

(4) 

(5) 

55 

67 24 

+ 1925 

+ 3600 

x 35 

x 25 T -6 

+ 1675 

- 6 

275 

335 

+ 3600 

+ 3594 

165 

134 



+ 1925 

+ 1675 




Notice, first, that we need a pencil, or a means of recording information 
—input equipment. Input equipment in computers takes on various forms 
such as modified typewriters which produce electric pulses when the keys 
are depressed; magnetic-tape units which convert information stored in 
the form of tiny, magnetized areas on tape into electric pulses; or punched 



14 


UNDERSTANDING DIGITAL COMPUTERS 


cards where information represented by holes punched in specific areas is 

C °Second, the 3 problem isfre^orded on paper. This is necessary because we 
can not do all parts of the problem at once. Therefore, we must have 

memory _the paper-which retains the bits of information until we are 

ready to use them. In computers, memory is provided by magnetic drums 
which store many bits of information by magnetizing (or not magnetizing) 
dnv areas around their peripheries; by tanks filled with mercury through 
S sound wa ves representing the information are constantly being 
recirculated; by cathode-ray tubes which store information by chargi g 
tinv areas on the screen with electrons; by magnetic cores which store the 
information by being magnetized one way or another; by vacuum tubes, 

rplavs and a host of other devices. 

Third, we must decide which operation to perform first, 
the information needed fo, that operation. In the computerttatt*>“ 
the control circuits, according to instructions placed in the compute! J 
the operator. Incidentally, these instructions are usually placed into 

multiplication, and division 

must be applied to obtain the answers to the ind.vtdual parts of theprob- 
lem. In the computer, these operations are performed by the arithmetic 

Uri pi"fth when the problem is done, the operator records this problem in a 
spec™ place. If £ is an accountant, he may put his 

to the input equipment since they both e.ther transfer 

information from the “outside world” to the computer.” ™£ 

Another type of output device is the printer which is used for the prepa 

XtSSTS «ve X functional units of a di g „a. computer are t 

1 INPUT—To insert outside information into the machine. 

2. MEMORY—To store information and make it available at th 

appropriate time. 

7 ARITHMETIC—To perform the calculations. 

4 OUTPUT-To remove information from the machine to the outstde. 

5. CONTROL—To cause all parts of the computer to act as a team. 

Figure 8 shows how the five functional units of the com P ^ c ‘' 

thflut equipment to the memory where it is stored. Each instruction 
is then P fed to the control unit. The control unit interprets the instructions 
and issues commands (dashed lines on figure) to the other functional 


WHAT IS A DIGITAL COMPUTER? 


15 


to cause operations to be performed on the data. Arithmetic operations 
are performed in the arithmetic unit, and the results are then fed back to 
the memory. Information may be fed from either the arithmetic unit or 
the memory through the output equipment to the outside world. 



- Information 

-Control 


Fig. 8. Functional organization of a digital computer. 

MACHINE LANGUAGE AND PROGRAMMING 

The five units of the computer must communicate with each other. 
This they do by means of a machine language which uses a code composed 
of combinations of electric pulses. These pulse combinations are usually 
represented by zeros and ones where the one may be a plus pulse and 
the zero a minus pulse; or the one may be a pulse and the zero a no-pulse. 
One possible code for the 10-decimal digits is 

0 0000 5 0101 

1 0001 6 0110 

2 0010 7 0111 

3 0011 8 1000 

4 0100 9 1001 

Numbers are communicated between one unit and another by means of 
these oni zero or pulse no-pulse combinations. The input has the 









UNDERSTANDING DIGITAL COMPUTERS 



Fie 9 Execution of simple problem by computer. 


WHAT IS A DIGITAL COMPUTER? 


17 


additional job of converting information fed in by the operator into machine 
language. In other words, it translates from our language into the pulse- 
no-pulse combinations understandable to the computer. The output has 
the additional job of converting the pulse-no-pulse combinations into a 
form understandable to us, such as a printed report. 

In addition to data, the input translates instructions needed to 
perform a given problem into pulse-no-pulse combinations. These 
instructions are originated by a programmer whose job it is to 
translate a scientific or business problem presented in human 
language into a sequence of detailed instructions understandable to 
the machine. 

What is involved in programming and the steps the computer goes 
through when it follows the program are shown in a very general way in 
Fig. 9. The data and the program of instructions necessary to perform 
the problem previously given are placed in the input system. During the 
first part of the execution of the problem, the control unit sends signals to 
the input and to the memory for the entire program to be stored in the 
memory. Then the control accepts each instruction in turn from the 
memory, interprets it, and sends the proper control signals to the other 
units for execution of these instructions. First it sends 55 to 35 to the 
arithmetic unit, and the multiplication instruction to the control for 
interpretation and execution. After the multiplication, the product is fed 
back to a designated spot in memory. Then the computer, following its 
program, repeats the above routine for the 67 and 25 factors and stores the 
product in another spot in memory. After this, the computer performs the 
division, 2 %, and stores the quotient. Once these portions of the problem 
are completed, the two products are fed to the arithmetic unit and summed. 
Then the quotient is subtracted from the sum in the arithmetic unit and 
the grand total is stored in memory. The last instruction may call for a 
print-out of the answer. In this case, the control sends signals to memory 
and output for the answer to be printed. 

It is easy to see that there are many detailed steps necessary to perform 
even a very simple problem. In some of the more complicated problems, 
the number of instructions necessary to specify the problem completely 
may take up about 200 pages of instructions! 

Programming is tedious work. For instance, a straightforward way to 
cause the machine to sum 10,000 numbers would be to instruct the machine 
as follows: 

Add the 1st number to the arithmetic contents (0 at the beginning). 

Add the 2nd number to the arithmetic contents. 

Add the 3rd number to the arithmetic contents. 

Add the 4th number to the arithmetic contents, etc. 























18 


UNDERSTANDING DIGITAL COMPUTERS 


To accomplish this task the projrammer must write 10,000 addition 

BuTwaTs'-have been fouhd whereby the programmer **«»*£«“ 

specify every instruction he warns the c °™P u, " h “ h e “ C “ eated over and 
by writing a generated instruction whrchjj.p^ ^ ^ ^ 

proeram fot 

adding the 10,000 numbers really reads something 

Add the number in memory location No. 1 to the sum stored ,n 

ari,h Add C '.he number in memory location No. 2 to the sum stored in 

arithmetic. No 3 to the sum stored in 

Add the number in memory location No. 3 to me 

arithmetic. lotion No 4 to the sum stored in 

Add the number in memory location No. 4 to m 

arithmetic, etc. 

asna: =z 

Add the number in memory location No. i to the sum stored m 

a " ,h Add C i to the memory iocation referred to in the addition instruction. 
Repeat routine. 

Of course, this is no, the complete program. Bu, enough is given .0 show 
the general idea. 

SELF-CHECKING MACHINE 

SO far we have discovered that the 

men, (programmer), performs these ca „ ed up0 „ 

the results back to its environ f possible alternatives (sets 

•ssssa 

own work. Although this sounds blse d on 

done. We saw tha, the computer has■circuits which 

spcateoeatdt o°,hereto u'nguage. This language possesses dehntte 


WHAT IS A DIGITAL COMPUTER? 


19 


rules just as English does. Suppose we received the following garbled 
English message over the radio: 

“-time — all good men-aid-country.” 

Each blank space represents a missing word. Would we find it difficult 
to fill in these blank spaces? Of course not. Why not? Because of what we 
know about the English language. The language follows rules that relate 
certain words to other words, and anyone who knows these rules—who 
can speak the language—can check for mistakes in transmission. Here 
is the corrected sentence: 

“Now is the time for ail good men to come to the aid of their country.” 

Notice that we do not need the underlined words to convey meaning. 
These words are redundant. But because they bear a grammatical relation¬ 
ship to the other words in the sentence, they make it easy to check the 
sentence. They add readability, and improve the reliability of communica¬ 
tion. 

English word spellings have many redundancies which affect the relia¬ 
bility of the language in the same way. The garbled message could have 
been received in this form: 

“N-w is t-e tim- f-r a-1 g—d m-n to c-m- to the ai- of t-r c-try,” 

Again we can reconstruct the original sentence because we know the 
relationships among the redundant letters and the other letters of the 
message. 

The same principle of redundancy can be used in the machine language 
of one’s and zero’s to enable messages to be checked. If instead of 
writing each digit as a combination of four bits, we were to write it as a 
combination of five bits, where the fifth bit is related to the other bits 
according to some rule, the digits could be checked. For instance, the code 
for the digits presented before could be modified thus: 

0 1 0000 5 1 0101 

1 0 0001 6 1 0110 

2 0 0010 7 0 0111 

3 1 0011 8 0 1000 

4 0 0100 9 1 1001 

In this case, the leftmost bit is related to the others in that it makes the sum 
of all the one bits odd for every digit. A circuit which checks for this 
redundancy rule is all that is necessary to test this language. 

In fact, it is easier for the machine to check for a mistake in transmis¬ 
sion than it is for a person. English is full of idiomatic expressions, 



2 0 UNDERSTANDING DIGITAL COMPUTERS 

duplication of meanings, grammatical exceptions and many other 
vagaries which the machine does not have to contend with. The machine 

has its rules and they are rigorously followed. 

Duplication is another method used to check work. When we add up a 
column of figures and we want to be sure the sum is correct, we add the 
figures again. If the two sums are equal, we assume the original sum 
correct. If the sums are unequal, we search for a mistake. A machine 
can do the same thing. The problem is fed to two circuits each of which 
performs the same operation. Then the results are compared. If they are 
alike, the machine proceeds with the following instructions. If they are 

not the same, the machine stops and indicates an error 

Because the computer operates according to the rules of logi , 
rules of logic may be used in the diagnosis of the fault This is done 
similar to the way the doctor uses his knowledge of the human body to 
help him determine the source of a person’s ailment. Like.the doctor, 
too, the computer trouble shooter can perform tests and then note re¬ 
actions To a limited extent, the human body fights off disease witho 
outside help by increasing the number of white blood cells, for instance. 
Some computers can perform a similar function. Not only do they find 
where the error occurred but they also correct for the error. 

SUMMARY 

I. The modern electronic digital computer is an extremely fast adding^chine 
built on logical principles. It can perform problems in h.gher mathematics 

faster than a human. 

1 There are five major functional units to the computer: input, memory 
JJS ompuT.nd'comrob The, b > «“> 

3 Tcfexecute problems on the computer, the programmer breaks the mathe- 
matical problems*^down into instructions the computer can perform. The input 
system converts these instructions into the language of the machine. 

4. The following are some of the advantages that electronic digital computers 

have over other mathematical machines. , • , hecause 

a Speed: The electronic machine is faster than the mechanical one because 

electrons travel much faster than any mechanical object, 
b e rr; tr The digital computer is capable of much greater accuracy than 

Se “ re of this 

d is obtained by the logical control; the use of ntany types 

' of inpu/and output equipment to communicate between the outsid 
world” and the computer; and the memory. 


section I 

ARITHMETIC AND LOGIC 


There are many types of digital computers. There are special-purpose 
computers which are built to do a specific job, and general-purpose 
computers which are built to do many jobs. There are fixed-program 
machines which sequence the computer through the same operations over 
and over, and computers whose programs can be modified. There are 
computers built for business applications, others built for scientific appli¬ 
cations, and still others for control of physical systems. But all the different 
types of computers are based on the same principles—the principles of 
arithmetic and logic. 

In this first section of the book we discuss the principles of arithmetic 
and logic. In Section JI these principles are used to develop building 
blocks; in Section III the building blocks are put together to form a 
specimen computer. 

Section I is divided into three chapters. In the first chapter we show that 
number languages are similar to word languages and we develop several 
number languages. In the second chapter we discuss rules for performing 
arithmetic in several of the number languages. Since practically any cal¬ 
culating job can be broken down into a series of arithmetic operations, 
the rules of arithmetic provide a good foundation upon which to build our 
knowledge of computers. In the third chapter the fundamental elements 
needed to mechanize the rules of arithmetic are presented in the rules of 
logic. 








CHAPTER 2 


Word and number languages 


Each man has his impressions of the world around him. These impres¬ 
sions are definitely unalike. How can anyone convey his inward 
impressions to another in a manner such that the second person can 
understand him? This can be done only by a set of symbols the mean¬ 
ings of which have been agreed upon by everybody. A set of such 
meaningful symbols put together according to commonly agreed rules is 
a language. 

The language of ancient man was composed of pictures. The pictures 
were symbols and they were understood by all. But a picture can convey 
only subjective feeling; it is unsuitable for precise thinking. 

The early picture languages developed into the ideographs of the Chinese 
and Japanese. The ideographs are a little less subjective, but still not quite 
objective enough. 

Now most languages use words formed of letters. These words repre¬ 
senting simple ideas are linked together with other words to form sentences 
representing more complicated ideas. The symbols used in modern lan¬ 
guages are more abstract than the ideographs, and thus are better tools for 
orderly thought. But even in modern languages, words receive connota¬ 
tions which tarnish their usefulness for rigorous thought. This is the 
reason mathematicians and scientists like to use mathematical symbols 
for their more profound thinking. 

We need language not only to communicate with our fellow men but 
also to communicate with ourselves, that is, to think. We can do some 


thinking without language. We can think of being hungry or of going 
fishing. But it is impossible for us to do abstract thinking without language. 
How would we think, “I want to go hunting next week,” without a language. 


How would we think of “blue,” “thin,” “good,” “better,” “a mile”? 


We need to manipulate symbols in order to do any but the most primitive 


type of thinking. 


23 


24 


ARITHMETIC AND LOGIC 


LANGUAGE 

Redundancy and Dependability 

What are the rules of language? We usually have symbols tied together 

inaword. Each word consists of a different combination of symbols The 

relationships among words are expressed by means of the logical rules of 
grammar. In order to understand a language, we must know the symbols, 

the rules of construction of words, and the grammar. 

Because of the many relationships expressed by means of rules, not 
every symbol in a word, or every word in a sentence, conveys meaning or 
gives information. Some symbols are there only to take care of the ru . 
For instance, in the previous sentence why do we need to use four words, 
“to take care of,” instead of one word, “care”? In the word gram , 
why do we need two m’s? These extra symbols are called ^ ^Jhich 
There is a relationship between redundancy and probability. Wh 
would you expect to find more often in an English sentence a t or an lx. 
How often is t followed by h? What letter will almost inevitably follow 
q t Similarly, there are frequently occurring word combinations such as 
“in order,” “and the,” “there is,” “because of,” and “expect to.” Because 
we have a good statistical idea of what symbols to expect in the above cases, 

' h ZZZ 1“ “d^rr^or m0re symbols ,o encode » mess, 6 e 

1 'These extra symbols, however, increase the dependability of a langU jJ®£ 

Because language rules tell us to some extent what to expect, garbled 
messages may be deciphered more readily. Redundancy thus makes a 

language easier to understand. 

Brevity and Power 

If redundancy increases the dependability of a language it also makes 
language more cumbersome. To increase the informational efficiency of a 
language, we must remove redundancies-make the language tightly 
packed This is the reason mathematicians use symbols instead of words 

t0 There’are'many ways to abbreviate. One way is to designate a letter or a 
short group of letters to represent a larger combination of Otters, for 
exampfe, as in shorthand used by secretaries. St Dr., and Mr are oth 

examples. Abbreviations enable us to transmit the message faster. 

Another form of abbreviation-although it is never called that-.s the 
use of one sophisticated word instead of a group of commonly known 


WORD AND NUMBER LANGUAGES 25 

words. Some examples of this are “ambiguous” instead of “not clearly 
understood”; “sadist” instead of “one who likes to inflict pain on others”; 
“atheist” instead of “one who does not believe in God.” The word “God” 
represents a large variety of ideas. We have many such meaningful words: 
democracy, thermodynamics, logic, etc. There is little redundancy in 
these words. We can employ them to convey information compactly. 
They are powerful words, used by great thinkers, but difficult to under¬ 
stand. 

Probably the most powerful way of expressing ideas is by means of 
mathematical symbols. Remember the age problem we had in high school? 

John is 15 years old. 

Five years ago Jack was twice as old as John. 

How old is Jack now? 

To solve this problem we designated John’s present age by X and Jack’s 
present age by Y\ then we expressed the whole problem compactly thus: 

X = 15 

Y = 2(X - 5) + 5 

Once the problem was expressed in mathematical form, we did not care 
what the symbols represented. We operated with them according to 
definite rules. In this case we substituted the value for X into the second 
equation, and performed the indicated arithmetic, thus: 

Y = 2(X — 5) + 5 = 2(15 - 5) + 5 = 2 x 10+ 5 = 20+ 5 = 25 

After the answer was obtained, we translated it back into English. 
Remembering that Y stood for Jack’s present age, we drew the conclusion 
that Jack’s present age was 25. 

Mathematical symbols decrease the redundancy and greatly increase 
the efficiency of our thinking. But both the sender and the receiver of 
the message must completely understand the meaning of the symbols. 
The more the symbol represents, the harder it is to be sure that the meaning 
of the symbol will get across. Therefore we say that brevity increases the 
efficiency of communication at the expense of reliability. 


POSITIONAL NUMBER SYSTEMS 

Words and Numbers 

We have been talking for the most part about languages based on words. 
We do have languages based on numbers. Word languages and number 
languages arc similar in many respects. Word languages are built from 
letters which arc combined into words. Relationships among these words 


26 


ARITHMETIC AND LOGIC 


~ s 0 X me words are related to each other by roles of spelliog or of grammar 
But lny words are unrelated. All numbers, however, are related by a 

80 Because 'numbef languages are bull, on a firmer foundal.on, dteyare 

mueh mo™are'teves 8 means"^than “some people are 
Ees“; or -,L made a grade* 

r;^o»ron as rigorous a 

° f TaHe ImmmSS I'^ilartosTeUXd language and number 
language. 

TABLE I 

Similarities Between Word and Number Languages 

Item Compared Word Language Numte Language 

—— J • * i 

Fundamental unit “ number 

^Combinations spelhng and grammar 

Sir 6 ma, hematics 

What is Zero? 

The decimal number system is in most common use today. To appreciate 

JCnumbe, sys em ,e, o = ^t —er^some 

ietS uTin aCe manner: symbols having different weights are 
combined to produce a sum repmsenting ^numher.Jor ^ 

the Roman system symbols I, V, X, , , , P 

100 , 500, and 1000 respectively are combined to produce. 

LXVIII = 50 + 10 + 5 + 1 + 1 + 1 = 68 
MCX1I = 1000 + 100 + 10 + 1 + 1 = 1112 

In some cases units are not added but subtracted, as in the following: 

CXLIV = 100 - 10 + 50 - 1 + 5 = 144 
CMXCII = -100 + 1000 - 10 + 100 + 1 + 1 = 992 

It is very difficult to do arithmetic with these ancient number systems. 


WORD AND NUMBER LANGUAGES 


TABLE 2 

Ancient Number Systems 


27 


Decimal 


Roman 


Mayan 


Hieroglyphics (3400 BC) 


2 

II 

• • 

A A 

3 

III 

• • • 

AAA 

4 

IV 

• • • • 

A A A A 

5 

V 


A A A A A 

6 

VI 

• 

A A A A A A 

7 

VII 

• • 

A A A A A A A 

8 

VIII 

• . • f 

AAAAAAAA 

9 

IX 

• • • • 

AAAAAAAAA 

10 

X 


fa 

11 

XI 

• 

fa A 

12 

XII 

• • 

fan a 

13 

XIII 

• • • 

fa A A A 

14 

XIV 

• • • • 

fan A A A 

15 

XV 


fan nnnn 

16 

XVI 

• 

fan A A A A A 

17 

XVII 

• • 

fan AAAAAA 

18 

XVIII 

• • • • 

fannnnnnnn 

19 

XIX 

• • • • 

fan AAAAAAAA 

20 

XX 

o 

fafa 

40 

XL 

CP 

fafafafa 

100 

c 

<o 

G 


Can you imagine trying to multiply CCCXXX1X by XLVII? These 
number systems are unwieldy because there is no simple way to set down 
the rules for counting. It is true that each symbol represents a certain 
value, but its relationship to the whole number depends upon the symbol 
before and the symbol after it. Furthermore, symbols in any relative 
position do not represent any particular range of numbers. 


28 


arithmetic and logic 


Bv contrast the decimal system is simple to use. Any schoolboy can 
multiply 528 X 44 and obtain 23232 by following simple rules, thus 

528 
X44 

2112 
2112 

23232 

Arithmetic in the decimal system is simplified because each digit represents 
a number between 0 and 9 or a 10 ’s multiple of that number ; the position 
of the digit in the number determines which 10 ’s multiple the digit repr 
sents. In other words, the multiplicand in the above example is 

528 = 500 + 20 + 8 

the multiplier is 

44 = 40 + 4 

and the product is 

23232 = 20000 + 3000 + 200 + 30 + 2 

Because numbers in this positional enumeration system are put together 
bv means of simple rules, the rules of arithmetic are made simple. 

Why could nofthe ancients use positional notation? The answ ^ is tha 
they did not know about zero. Zero means more than^nothi 

second case tile digit 4 is in the first column. These facts are apparent 
when we use the following notation: 

4. = 4 X 10° 

4000. = 4 X 10 3 

The exponent indicates the number of zeros to the left of the decimal pointy 
The zero can be used to distinguish among fractional numbers too. T 
difference between .4 and .00004 is that in the first case the digit 4 is in the 
fet column to the right of the decimal point, whereas tn the second 1 case 
the digit 4 is in the fifth column to the right of the decimal point. Th 
facts are summarized in the following notation. 

.4 = 4 X 10 _1 

.00004 = 4 X 10 - 5 

The minus exponent indicates that the zeros are to the right of the decimal 
point. 


WORD AND NUMBER LANGUAGES 


29 


Numbers in Exponential Form 

As we have seen, the number 23232 can be expressed as 

20000 + 3000 + 200 + 30 + 2 

Instead of writing down all the zeros, the same numbers may be expressed 
in the following manner: 

2 x 10 4 + 3 x 10 3 + 2 x 10 2 + 3 x 10 1 + 2 x 10° 

For the sake of consistency, the rightmost digit is considered to be multi¬ 
plied by 10 ° which is equal to 1 . 

Note that in this positional enumeration system the exponent represents 
the number of the column in which the associated digit occurs, if we count 
columns from right to left and label the first column zero. We call the 
leftmost digit the Most Significant Digit (MSD) because a change in this 
digit has the greatest effect upon the value of the total number. We call 
the rightmost digit the Least Significant Digit (LSD) because a change in 
this digit has the least effect upon the value of the total number. 

The same idea of positional enumeration can be applied to decimal 
fractions. The decimal fraction 0.6217453 can be expressed as 

6 x 10 - 1 + 2 x 10 - 2 + 1 x 10 - 3 + 7 x 10 - 4 

+ 4 x 10 ~ 5 + 5 x 10 - 6 + 3 x 10 - 7 

The minus sign in the exponent indicates that a multiple of one-tenth 
rather than of 10 is taken. The leftmost digit ( 6 ) is still the MSD and 
rightmost digit (3) is still the LSD. 

Counting Process 

Let us review the decimal counting process (Table 3). We start with 
each column holding a zero. In the first column from the right (column 0) 
we go through the sequence of digits from 1 to 9 and back to 0. As we 
return to 0, we sequence the digit in column 1 from 0 to 1. We follow 
through another cycle of ten digits in column 0 and, as we return to 0 
again, we sequence the digit in column 1 from 1 to 2. We go through this 
cycle ten times or until the digit in column 1 is switched from 9 to 0. At 
this point we change the digit in column 2 from 0 to 1. This process is 
continued ad infinitum. This counting process can be performed by a group 
of rotating wheels. The wheel at the right makes a complete revolution for 
each ten digits. Each of the other wheels rotates at one-tenth the speed of 
the wheel to its right. 

Because there are ten digits in this system of counting, each column 
produces a multiple of ten. We recognize this fact when we speak of the 








ARITHMETIC AND LOGIC 

TABLE 3 

Decimal Counting 

Columns: 3 2 10 

Weight: 10 3 1 0 2 1 0 1 10° 

0 

1 

2 

3 



WORD AND NUMBER LANGUAGES 31 

units, tens, hundreds, and thousands columns. Because we use ten digits 
in the decimal system, we say that it has a base or radix of 10. The base is 
defined as the number of digits used in a positional enumeration system. 

Theoretically, we use an infinite number of columns, and we can go on 
counting forever. But for any physical device, there is always a finite 
number of columns used. The odometer of a car, for instance, has five 
columns (not including the one representing tenths of miles). This means 
that the largest number that can be represented by the ordinary odometer 
is 99999—one less than 100000. 

What does this fact mean in practical terms? It means that if the odom¬ 
eter in a car reads 00500, we could not know for certain whether the car 
has traveled 500 or 100,500 or 200,500 miles. We say that the odometer 
reads numbers in modulus 100000, or 10 5 form. If it has 20 columns, it 
reads numbers in modulus 10 20 form. 

The modulus is a standard of measurement. It is one more than the 
last possible number that can be read from a practical counter. It is not 
the last number, but the number after it because we normally start counting 
with one and not with zero. If in the odometer the number 0 were used to 
represent the first mile, the reading of 99,999 would represent the 100,000th 
mile. As a matter of fact for most computer applications we do assume 
that zero is the first number. Reference to this point will be made later 
in this book. 

Several Positional Number Systems 

The almost universal use of the base of 10 for numbering developed only 
because we happen to possess ten fingers. But many bases are possible. 
Numbers in some of the bases used in computers are shown in Table 4. 

The duodecimal system with a base of 12 consists of digits 0 to 9 of the 
decimal system plus two more —A and B for instance—representing the 
digits 10 and 11. In this system, whenever a digit in a column is sequenced 
from digit B to digit 0, the digit in the column to its left is sequenced to its 
next digit. 

The digit in each column represents a multiple of 12; its position 
determines which multiple it is. For instance, IAB6 is equivalent to 

1 x (12) 3 + Ax (12) 2 + B x (12) 1 + 6 x (12)° 

= 1 x 1728 + 10 x 144 + 11 x 12 + 6 x 1 = 3462 

Some people believe that arithmetic is simpler in the duodecimal system. 
They base their contention on the fact that 10 is divisible by only two 
digits besides 1, i.e., 2 and 5; whereas 12 is divisible by four digits, i.e., 2, 3, 
4, and 6. 


1 


32 ARITHMETIC AND LOGIC 

The hexadecimal system has a base of 16. It consists of the ten decimal 
digits plus six additional symbols— A, B, C, D, E, and F to represent 
the digits 10, 11, 12, 13, 14, and 15. Just as in the decimal system a digit 
is worth 10 times more than a digit to its right, and in the duodecima 


TABLE 4 

Positional Number Systems 


Decimal Hexa- Duo¬ 

decimal decimal 

10 16 12 


0 0 0 

1 1 1 

2 2 2 

3 3 3 

4 4 4 

5 5 5 

6 6 6 

7 7 7 

8 8 8 

9 9 9 

10/1 A 

11 B B 

12 C 10 

13 D 11 

14 E 12 

15 F 13 

16 10 14 

17 11 15 

18 12 16 

19 13 17 

20 14 18 

40 28 34 

100 64 84 


Octal Ternary Binary 

8 3 2 


0 0 0 

1 1 1 

2 2 10 

3 10 11 

4 11 100 

5 12 101 

6 20 HO 

7 21 HI 

10 22 1000 

11 100 1001 

12 101 1010 

13 102 1011 

14 110 1100 

15 111 HOI 

16 112 1110 

17 120 1111 

20 121 10000 

21 122 10001 

22 200 10010 

23 201 10011 

24 202 10100 

so mi 101000 

144 10201 1100100 


system a digit is worth 12 times more than a digit to its right, so in the 
hexadecimal system a digit is worth 16 times more than a digit to its right. 
Just as in the decimal system the placement of a zero to the right of the 
LSD multiplies the whole number by 10, and in the duodecimal system t e 
placement of a zero to the right of the LSD multiplies the whole number by 
12 , so in the hexadecimal system the placement of a zero to the right o 

the LSD multiplies the whole number by 16. 


WORD AND NUMBER LANGUAGES 33 

Just as we may choose bases greater than 10, so may we choose bases 
less than 10. The octal system with a base of 8 , the ternary system with a 
base of 3 , and the binary system with a base of 2 are some commonly 
occurring schemes. 

In the ternary system, only three digits—0, 1, and 2—are used. A 
number such as 210112 represents 

2 x 3 5 + 1 x 3 4 + 0 x 3 3 + 1 x 3 2 + 1 x 3 1 + 2 x 3° 

= 486 + 81 +0+9 + 3 + 2 
= 581 

The digit in each column is worth three times more than a digit to its 
right. 

In the binary system there are only two digits, 0 and 1. A number such 
as 100101011 is equivalent to 

1 x 2 8 + 0 x 2 7 + 0 x 2 6 + 1 x 2 5 + 0 x 2 4 + 1 x 2 3 
+ 0 x 2 2 + 1 x 2 1 + 1 x 2 ° 

= 256 + 0 + 0 + 32 + 0 + 8 + 0 + 2+1 
= 299 

A digit in each column is worth twice as much as a digit in a column to its 
right. Evaluation in binary is much simpler than with any other base 
because no digit higher than 1 is used, and therefore no multiplication is 
needed. 

The two digits of the binary system are called bits, which is a contraction 
of binary digits. 

Advantages of Binary Number System 

It is obvious that it takes many more digits to express a number in binary 
than it does in decimal. As was shown before, the binary 100101011 is 
equivalent to decimal 299. In this case, nine bits are needed for the binary 
representation as contrasted with three digits for the decimal represen¬ 
tation. But this disadvantage is outweighed by the following advantages 
of the binary number system: 

1 . The binary one and zero can represent the yes and no of formal logic. 

2. Binary numbers are easy to mechanize reliably. 

3. Binary arithmetic is very simple 

Each of these advantages is discussed below. 


34 ARITHMETIC AND LOGIC 

Binary ONE and ZERO can represent the YES and NO of formal 
logic. In formal logic all propositions are either true or false; there is no 
middle ground. For instance, the following statement, 

Only animals which stand upright are human 

implies that all animals may be divided into two mutually exclusive classes: 
humans and nonhumans. For all animals which stand upright we may 
draw the conclusion that they are human. This may be put in the form 

of a syllogism such as the following: 

Only animals which stand upright are human. 

Jack is an animal which stands upright. 

Therefore, Jack is human. 

For all animals which do not stand upright, we may draw the conclusion 
that they are not human. This may be put in the form of a syllogism such 

as the following: 

Only animals which stand upright are human. 

The cat does not stand upright. 

Therefore, the cat is not human. 

We can draw definite conclusions from our original premises because 
each premise must be true or false. If Jack is a baby who sometimes walks 
upright and sometimes crawls, we cannot draw any conclusion from the 
premises. For the sake of logical rigor, all animals must be divided into 
two mutually exclusive classes. Because each premise is either true or false, 

formal logic is often referred to as bivalued logic. 

Of course, not everything can be specified in black and white terms 

Many qualities are in between. Could we judge a man to be all evil or all 
good? Could we say at any time whether we are entirely happy or entirely 
unhappy? When is a piece of wood thin and when is it thick? When is a 

man bald and when is he not bald? 

The answer is that these words are ambiguous. We cannot use them in 

formal logic unless we define them so that all objects referred to are 

separated into two mutually exclusive classes. We would set up a minimum 

list of characteristics necessary for a person to possess in order to be called 

“good.” If he possessed anything less than these characteristics, hewou 

be called “not good.” We would define a man to be bald if at least 40 ot 

the total area of the head as measured from a horizontal circumference 

drawn just above the ears was not covered with hair. This definition wou 

divide all people into two mutually exclusive classes: the bald and the 

not bald. 


WORD AND NUMBER LANGUAGES 35 

The examples given are not perfectly restrictive definitions. But they 
serve to illustrate that the more rigorously we define words in bivalued 
logic, the more rigorous are the conclusions—the more definitely can we 
arrive at a “yes” or “no” answer. The binary one may be used to represent 
yes; and the binary zero may be used to represent no. The implication 
of this statement are far-reaching, as will be seen later in the book. 

Binary numbers are easy to mechanize reliably. It is much 
easier to develop a circuit which has only two stable states than it is to 
develop a circuit with ten stable states. For instance, to cause a vacuum- 
tube circuit to have ten stable states, we must design it so that it can conduct 
at ten distinct current levels. We must design it so that under steady 
conditions the current does not change enough to make the circuit change 
levels. We must design it to have equally spaced stable states; in other 
words, it should take just as much energy to go from one state to an 
adjacent state as it would to go from another state to an adjacent state. 

We have no such problems designing 2-stable-state devices. Some 
bistable devices which have been used to store one’s and zero’s are relays 
which open and close; gas-discharge tubes which conduct or are cut off; 
magnetic materials which magnetize in one direction or the other; teletype 
tape in which holes represent one’s and no holes represent zero’s; and 
flip-flops which have one leg conducting and the other leg cut off, or vice 
versa. In each of these devices the two states are distinct, and it is easy to 
flip from one to the other without ambiguity. 

Three-stable-state devices have been developed. Perhaps when these 
devices are made more reliable, a three-valued logic may be developed to 
enable us to design computers using the ternary system. 

Binary arithmetic is very simple. To perform decimal arithmetic, 
we must first memorize addition and multiplication tables. We must do 


TABLE 5a 

Addition Table 



TABLE 5 b 

Multiplication Table 


^^Multiplicand 

0 

1 

Multiplier^\^^ 



0 

0 

0 

1 

0 

1 


this also in the binary system. These tables are extremely easy, as shown 
in Tables 5 a and 5b. The sum of 0 and 0 is 0; of 0 and 1,1; and of 1 
and 1, 0 with a I to carry. The multiplication of all 2-bit combinations 








36 


arithmetic and logic 


except 1 times 1 produces a 0; 1 times 1 produces 1. Can arithmetic 
rules be any simpler? The simple rules of binary arithmetic are reflected 
in the simple circuitry needed to accomplish this arithmetic electronically. 

TRANSLATION BETWEEN NUMBER SYSTEMS 

Decimal-to-Binary Translation 

The following are some methods by which numbers in the decimal 
system may be translated into numbers in the binary system: 

1. Dividing successively by the base. 

2. Multiplying successively by the base. 

3. Using meaning of binary zero. 

4. Using rule of number formation. 

Each of these methods is discussed below. 

Dividing successively by the base. This method is applicable to 
integral decimal numbers. To translate an integral decimal number into 
binary, divide successively by 2 and record the remainder in each case, 
Continue this process until the original number is reduced to 0. The 
recorded remainder bit is the LSD and the last recorded remainder bit is 

the MSD of the number in the binary system. 

Example: Translate decimal 137 into binary, thus: 

DIVIDE BY 2 QUOTIENT REMAINDER 

137/2 68 1- 

68/2 34 0 

34/2 17 0 

17/2 8 1 

8/2 4 0 

4/2 2 0 

2/2 1 0 

1/2 0 1 - 

Multiplying successively by the base. 

fractional decimal numbers. To translate a fractional decimal number into 
binary, multiply the fraction successively by 2. Each time the produc 
becomes greater than 1, disregard the 1 and continue multiplying he 
fractional part of the number. For each multiplication that causes the 
product to become greater than 1-there is a carry to the units column- 
record a 1. For each multiplication that does not cause the product to 



WORD AND NUMBER LANGUAGES 


37 


become greater than 1—there is no carry to the units column—record a 0. 
Repeat this procedure until about three times as many binary digits as 
decimal digits are obtained. The first recorded bit is the MSD and the 
last recorded bit is the LSD of the number in binary. 

Example: Translate decimal .413 into binary, thus: 

CARRY 
TO UNITS 

MULTIPLY BY 2 PRODUCT COLUMN 

.413 x 2 .826 0-MSD 

.826 x 2 1.652 1 

.652 x 2 1.304 1 

.304 x 2 .608 0 

.608 x 2 1.216 1 

.216 x 2 .432 0 0.011010011 Binary 

.432 x 2 .864 0 

.864 x 2 1.728 1 

.728 x 2 1.456 1- 

Using meaning of binary zero. Writing a 0 to the right of the 
LSD of an integral binary number is the same as multiplying the whole 
number by 2. Writing a 0 to the left of the MSD (between the MSD and 
the binary point) of a fractional binary number is equivalent to dividing 
the whole number by 2. These facts can be used to translate from decimal 
to binary, as is shown by the following example. 

Example: Translate decimal 855.0625 to binary. The integral portion and 
the fractional portion are best treated separately. 

The integral portion, 855, may be considered to be composed of800 + 40 + 15. 

The binary equivalents of 15 and 40 may be obtained from Table 4; they are: 

15 = 1111 
40 = 101000 

The value for 800 may be obtained by recording the value for 100 and doubling 
it three times: 

100 = 1100100 
200 = 11001000 
400 = 110010000 
800 = 1100100000 

The value of the number is now obtained by adding the three binary equivalents 
thus: 

800 = 1100100000 
+40 = 101000 

"840 = 1101001000 
+ 15= 1111 

855 - 1101010111 




38 


ARITHMETIC AND LOGIC 


The fractional part .625 is translated to binary as follows: 

.5 = .1 

.25 = .01 

.125 = .001 
.0625 = .0001 

Therefore, decimal 855.0625 equals 1101010111.0001 in binary. 

Using rule of number formation. The following example illus- 
trates this method. 

Example: Express 972 in binary. This number can be expressed as 

9 x 10 2 + 7 x 10 1 + 2 x 10° 

If the binary equivalent to each of these numbers is obtained, and the indicated 
arithmetic is performed, the binary equivalent for the whole number is derived 
From Table 4 we find that the following decimal numbers have the indicated 

binary equivalents: ^ 1{)0) 

7 0111 

2 0010 

10 1010 

100 1100100 

The number 972 can therefore be expressed as 

9 x 10 2 + 7 x 10 1 + 2 x 10° 

= 1001 x 1100100 + 111 x 1010 + 10 
= 1110000100 4- 1000110 4- 10 
= 1111001100 

Binary-To-Decimal Translation 

The following are three methods which may be used to translate binary 
numbers into decimal numbers. 

1. Using meaning of binary zero. 

2. Dividing successively by binary equivalent of 10. 

3. Assigning weights to bit positions. 

The first two methods are good for translation of integers only. The third 
method may be used for fractional numbers as well. Each of these methods 

is discussed in the following. 

Using meaning of binary zero. Start by recording a 1 fc 
MSD. Then double the number for each succeeding bit if it is a 0. Double 

the number and add 1 if the bit is a I. 


WORD AND NUMBER LANGUAGES 


39 


Example: Find the decimal equivalent of 10101100. 

Binary number: 1010110 0 

Double numbers: 1 2 4 10 20 42 86 172 

Add 1: +14-1 +1 

5 21 43 


172 = Decimal 
equivalent 


Dividing successively by binary equivalent of 10. The binary 
equivalent of decimal 10 is 1010. By dividing the given number and then 
successive quotients by 1010, each successive remainder translated into a 
decimal is a digit of the equivalent decimal number. 

Example: Find the decimal equivalent of 10000100. 

1101 

1010)10000100 
1010 

1101 

1010 

1100 

1010 

10 = 

1 

ioioJTToI 
1010 

11 =3 132 Decimal 

t 

1010)1 = 1-MSD- J 

Assigning weights to bit positions. This is the most straightfor¬ 
ward way. Remembering that each bit to the left of the binary point is 
worth twice the value of the bit to its right, and that each bit to the right of 
the binary point is worth half as much as the bit to its left, we can assign 
weights to all bit positions as follows: 

256 128 64 32 16 8 4 2 1 • 1/2 1/4 1/8 1/16 1/32 1/64 

X XXXXXXXX-XXX X X X 



To translate from binary to decimal, place the bits under the appropriate 
weights. Then add up all the weights in the positions in which l’s appear 
in the binary number. 

Example: Find the decimal equivalent of 10101100.10101. 

Place bits under appropriate weights: 

Weights: 128 64 32 16 8 4 2 1*1/2 1/4 1/8 1/16 1/32 
Bits: 1 0101100-1 0 1 0 1 

Add weights in positions in which l’s appear: 

128 + 32 + 8 + 4 + 1/2 + 1/8 + 1/32 = 172.6562 





TABLE 6 . 

Translating Decimal 540 to Binary, Ternary, Quarternary, and Octal 



arithmetic and logic 



WORD AND NUMBER LANGUAGES 41 

The translation can also be performed by treating the mixed number as a 
fraction: 1010110010101/100000. 

Weights: 4096 2048 1024 512 256 128 64 32 16 8 4 2 1 

Bits: 1 0 1 0 1 10010101 

Numerator: 4096 + 1024 + 256 + 128 + 16+4 + 1 = 5525 

Weights: 32 16 8 4 2 1 

Bits: 1 0 0 0 0 0 

Denominator: 32 

Fraction: 5525/32 = 172.6562 

Translation to and from Other Number Systems 

One of the best methods of translating from decimal to binary is succes¬ 
sive division (multiplication if the number is fractional) by 2, the remainder 
after each division being one of the bits of the resultant number. This 
method may be applied to translation from decimal to any number system 
with a base less than 10; division in each case is by the base of the number 
system to which we are translating. Table 6 shows how the decimal number 
540 is translated into ternary, quarternary, and octal as well as binary. 

TABLE 7 

Translating Binary, Ternary, Quarternary, and Octal Equivalents of 540 to 
Decimal 


Number in binary: 1000011100 

Weights: 512 256 128 64 32 16 8 4 2 1 

Bits: 1 0 0 0 0 1 1 1 0 0 

Bits x weights: 1 x 512 + 0 x 256 + 0 x 128 + 0 x 64 

+ 0x32 + 1 x 16 + 1 x 8 + 1 x 4 
+ 0 x 5 + 0 x 1 

Decimal equivalent: 512 + 16 + 8 + 4 = 540 

Number in ternary: 202000 
Weights: 243 81 27 9 3 1 

Digits: 2 0 2 0 0 0 

Digits x weights: 2 x 243 + 0 x81 + 2 x 27 +0 x 9 + 0 x 3 + 0 x 1 

Decimal equivalent: 486 + 54 = 540 

Number in Quarternary: 20130 
Weights: 256 64 16 4 1 

Digits: 2 0 13 0 

Digits x weights: 2 x 256 + 0x 64 + 1 xl6+3x4+0xl 
Decimal equivalent: 512 + 16 + 12 = 540 

Number in Octal: 1034 
Weights: 512 64 8 1 

Digits: 1 0 3 4 

Digits x weights: 1 X512+0 x64+3 x 8 + 4 x 1 
Decimal equivalent: 512 + 24 + 4 = 540 



42 ARITHMETIC AND LOGIC 

One of the best methods of translating from binary to decimal is by 
assigning weights to bit positions, multiplying the weights by the digits in 
rScTive positions and summarizing. This method may be applied 
to translation from any number system with a base testhan W tojecm». 
Table 7 shows how the ternary, quaternary, and octal as well as y 

equivalents of 540 are translated into decimal. 


TABLE 8 

Binary-Octal Equivalents 


Decimal 

0 

1 

2 

3 

4 

5 

6 

7 

8 
9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 
40 
100 


Binary 


000 

001 

010 

Oil 

100 

101 

110 

111 

001 000 
001 001 
001 010 
001 011 
001 100 
001 101 
001 no 
001 111 
010 000 
010 001 
010 010 
010 011 
010 100 
101 000 
001 100 100 


Octal 

0 
1 
2 

3 

4 

5 

6 
7 
10 
11 
12 

13 

14 

15 

16 
17 
20 
21 
22 

23 

24 
50 

144 


Translation from binary to octal, and vice versa, is very simple because 
there "s a dkect relationship between the binary number system and the 
octal number system: if the bits of a binary number are divided into group 
of three, the evaluation of each group provides the eqLUvalent octa g ^ 
Th s can be seen from the table of binary-octal equivalents (Table 8). The 
rea'sorffoMWs simple relation is this: there are only eight possible com- 

binations for each group of three bits. 


WORD AND NUMBER LANGUAGES 43 

REFLECTED NUMBERS 


When counting in a positional number system, occasionally all the 
digits of a number must be changed in order to obtain the following 
number in sequence. For instance, the number after 199999 is 200000. If 
the indicator of a mechanized counter should fall somewhere between 
these two numbers, the actual number read out may vary anywhere from 
100000 and 299999. 


TABLE 9 

Reflected Numbers 


Decimal 

Reflected 

Decimal 

Reflected 

Octal 

Reflected 

Quarternary 

Reflected 

Binary 

0 

0 

0 

0 

0 

1 

1 

1 

1 

1 

2 

2 

2 

2 

11 

3 

3 

3 

3 

10 

4 

4 

4 

13 

110 

5 

5 

5 

12 

111 

6 

6 

6 

11 

101 

7 

7 

7 

10 

100 

8 

8 

17 

20 

1100 

9 

9 

16 

21 

1101 

10 

19 

15 

22 

mi 

11 

18 

14 

23 

1110 

12 

17 

13 

33 

1010 

13 

16 

12 

32 

1011 

14 

15 

11 

31 

1001 

15 

14 

10 

30 

1000 

16 

13 

20 

130 

11000 

17 

12 

21 

131 

11001 

18 

11 

22 

132 

11011 

19 

10 

23 

133 

11010 

20 

20 

24 

123 

11110 

21 

21 

25 

122 

mil 

22 

22 

26 

121 

11101 

23 

23 

27 

120 

11100 

24 

24 

37 

110 

10100 

25 

25 

36 

111 

10101 

26 

26 

35 

112 

10111 

27 

27 

34 

113 

10110 

28 

28 

33 

103 

10010 


44 arithmetic and logic 

When we are interested in reducing the error which can be produced by 
a counter—as we are when converting an analog 

oosTessis the quality that two adjacent numbers differ from each other rn 
the value of only one of the digits. This means that regardless of how 
many digits a number possesses, only one of two possible digit com 

tions may be read at any one point. 



Fig. 10. Reflected binary in modulus 2 4 . 


Examples of reflected number systems are given in Table 9 ^g ure 10 
is a pictorial illustration of the reflected binary system with a 2 modulus^ 
Because the number after 15 is 0, the number system may be represented 
by a circle with 16 subdivisions as shown. A black area represents a 
of one and a blank area represents a bit of zero. Note that the pa 
the three outside bands on the left half of the circle is the £ 

two'outside bands are considered, the pattern in each quarter <:£e sThe 

side band if considered, the pattern in each eighth-circle is a mirror image 
of the pattern in the adjacent eighth-circle. Similar mirror images o 
reflected patterns exist in all reflected number systems. 


WORD AND NUMBER LANGUAGES 45 

CODED-DECIMAL NUMBERS 

The decimal number system is universally used. But the binary number 
system possesses a simplicity that lends itself to machine use. These two 
advantages are available in one system, called the coded-decimal system. 
Numbers in the coded-decimal system are represented by decimal digits; 
but each digit is encoded by means of four bits. For instance, the binary 
representations for the digits 0 to 9 may be used to encode each digit. In 
this system the number 52963 is encoded as follows: 

52963 = 0101 0010 1001 0110 0011 

We may assign to each of the four bit positions (from right to left) the 
weights of 1, 2, 4, and 8; and then add the weights in positions holding 
l’s to evaluate each digit. The above binary-coded decimal representation 
may therefore be translated in the following manner: 


Weights 

Binary-Coded - 

Decimal Digits 8 4 2 1 Decimal 


0101 

0 + 4 + 0 + 1 

5 

0010 

0+0+2+0 

2 

1001 

8 + 0 + 0 + 1 

9 

0110 

0 + 4 + 2 + 0 

6 

0011 

0 + 0 + 2 + 1 

3 


This type of representation is called a weighted-bit code. There are many 
other possible weights that can be given to each bit position to produce 
other coded-decimal systems. Some of these are listed in Table 10. 
Values for digits in typical 4-bit codes are given in Table 11. 

In coded-decimal systems an ambiguity may arise in the use of the word 
“significant.” The leftmost decimal digit (5 in the above example) may be 
called the most significant. Similarly, the leftmost bit comprising each 
digit may be called the most significant. To avoid confusion, we will 
always use “significant” when referring to digits, and “order” when 
referring to the bits of a digit. The leftmost decimal digit in the above 
example is the MSD and the rightmost is the LSD. The first-, second-, 
third-, and fourth-order bits of the MSD are 1,0, 1, and 0 respectively. 

There are 16 distinct possible combinations that can be obtained by the 
use of 4 bits to a digit. In the 8421 system, the first ten combinations in 
the binary number system are chosen. It is possible, however, to choose 
the middle ten combinations in the group of 16. This means that the binary 


46 


ARITHMETIC AND LOGIC 


TABLE 10 

Weighted 4-Bit Codes 

Order of Bit 

4 3 2 1 


Order of Bit Order of Bit 
4 3 2 1 4 3 2 1 


5 2 

4 3 

5 3 

6 3 

4 2 

5 2 


1 1 
1 1 
1 1 
1 1 
2 1 
2 1 


6 2 

3 3 

4 3 

5 3 

6 3 
2 4 


3 2 

4 2 
4 2 
4 2 
4 2 
4 2 


TABLE II 

Values for Typical 4-Bit Codes 


Decimal 


Weighted 

2421 8421 5421 5211 


Nonweighted 
Excess-3 Excess-6 


0000 

0001 

0010 

0011 

0100 

1011 

1100 

1101 

1110 

mi 


0000 

0001 

0010 

0011 

0100 

0101 

0110 

0111 

1000 

1001 


0000 

0001 

0010 

0011 

0100 

1000 

1001 

1010 

1011 

1100 


0000 

0001 

0011 

0110 

0111 

1000 

1001 

1100 

1110 

mi 


0011 

0100 

0101 

0110 

0111 

1000 

1001 

1010 

1011 

1100 


0110 

0111 

1000 

1001 

1010 

1011 

1100 

1101 

1110 

mi 


^P resen ^ a ti°^? n ^ r a ^ig °i 1 ^ s ^£xMss-3” e code.^ The codef^calkd* excess-3 

because thecoded representation is the binary nU ^ 

the actual decimal number it represents. For instance, the excess p 

Z ZZZ than the deci™, nnnrber it usual,, represent, 

NEGATIVE NUMBERS AND COMPLEMENTS 

Up to now we have been dealing only with positive numbers,.thatTs.«e 


WORD AND NUMBER LANGUAGES 



Counting forward 
(Addition) 



Counting backward 
(Subtraction) 


50 



0 


Counting counterclockwise 
(Addition) 




Counting clockwise 
(Subtraction) 




Complements 


Fig. 11. Principle of complements. 


If we assume that counting to the right is counting forward, then counting 
to the left is counting backward. When we count to the right, we add a 
one to obtain each succeeding number; when we count to the left we 
subtract one to obtain each succeeding number. 

Because of its finite modulus, a practical counter is better represented 
by a circle, as shown in Fig. 11. In the circle representation, counting 
counterclockwise may be called forward counting, and counting clockwise 
may be called backward counting. If we place the positive numbers 




arithmetic and logic 


WORD AND NUMBER LANGUAGES 


49 



Fig. 12. Subtraction with the aid of complements. 

ained through forward counting and 

ough backward counting si e y si e complement is a 

- jc ru, - 

rr dS b—uUtu -Jr - a wheej). ^—g 

Str™raUwX“blL-we' can have the ••wheel" always 
oving in the same direction. t is aonlied in a counter 


in Fig. 12 a to produce +70: Starting at the reference point, we subtract 
10 by ticking off ten spaces clockwise; from the resultant we trace 80 
spaces counterclockwise, which brings us back to the +70 point on the 
wheel. Figure 126 shows how the same problem is solved by means of 
complements; here we combine the complement of —10, which is +90, 
with +80; we count 170 divisions from the reference point, which brings 
us to the +70 point on the wheel. In Figs. 12c and d , +40 and —70 are 
combined. In Fig. 12c we count 40 divisions forward and then 70 divisions 
backward, which brings us to the —30 spot. In Fig. \2d we convert —70 
to +30, and count first 40 divisions and then 30 divisions counterclockwise, 
which brings us to the +70 or —30 spot on the wheel. 

If the modulus is given in the decimal system, the complement is called 
the 10’s complement. The 10’s complement of a number is defined as that 
number which when added to the original number gives the modulus. For 
instance, the 10’s complement of 642 is 358 because 

642 
+ 358 

1000 = modulus for a 3-digit decimal number system 
The 10’s complement of the same 642 in modulus 10 5 is 99358 because 


00642 

+99358 

100000 = modulus for a 5-digit decimal number system 


Another way of expressing the last statement is as follows: If we count 
642 times backwards from 100000, we reach number 99358. 

Instead of obtaining the 10’s complement by subtracting the number 
from the modulus, the first digit (LSD) may be subtracted from 10 and all 
the other digits subtracted from 9. This process gives the same result as 
can be seen from the following: 


100000 9 9 9 9 10 

-42135 -4 2 1 3 5 

57865 5 7 8 6 5 


9 9 9 9 9 
-42135 

5 7 8 6 4 9’s complement 
_ + 1 _ 

5 7 8 6 5 10’s complement 


Instead of obtaining the 10’s complement directly, we may subtract each 
digit from 9 to obtain the 9’s complement, and then add 1 to convert it 
into the 10’s complement. The 10’s complement is always equal to the 
9’s complement plus 1. 



50 arithmetic and logic 

In the binary number system, the 2’s and l’s complements are analogous 
to the 10’s and 9’s complements respectively. The 2 s complement 
defined as that binary number which must be added to theongma 1 binary 
number to obtain the modulus. The l’s complement is defined to be one 
less than the 2’s complement. The following example shows the relation¬ 
ships between the 2’s and l’s complements. 

Example: Find the 2’s complement of 10101 

100000 1 1 1 1 1 10 1 1 * J 1 J 

— 10101 — 1010 1 — 10101 


01011 


0 10 1 1 


0 10 10 l’s Complement 
+ 1 

0 l 0 1 i 2’s Complement 


Note that in the binary number system, the l’s complement can 
obtained by simply interchanging all 0’s with 1 s and al s wi 


be 


ADVANCED CODES 

Self-Complementing Codes 

In several coded-decimal systems, replacing 0’s with l’s and l’s with 0 s 

produces the 9’s complement. Codes which have this happy f “ lllt y ar * 
called self-complementing codes. Several examples of self-complementing 

codes are given in Table 12. 


TABLE 12 

Self-Complementing Codes 


0 

1 

2 

3 

4 

5 

6 

7 

8 
9 


0000 

0001 

0010 

0011 

0100 

1011 

1100 

1101 

1110 

mi 


Coded Decimal 


Decimal 2421 5211 


0000 

0001 

0011 

0110 

0111 

1000 

1001 

1100 

1110 

1111 


4311 

4221 

3321 

Excess-3 

0000 

0000 

0000 

0011 

0001 

0001 

0001 

0100 

0011 

0010 

0010 

0101 

0100 

0011 

0011 

0110 

0110 

1000 

0101 

0111 

1001 

0111 

1010 

1000 

1011 

1100 

1100 

1001 

1100 

1101 

1101 

1010 

1110 

1110 

1110 

ion 

1111 

mi 

mi 

1100 


WORD AND NUMBER LANGUAGES 51 

Self-Checking Codes 

Four bits can be combined in 16 different ways. Since only ten of these 
combinations are used in a coded-decimal system, six combinations are 
extra or redundant. This redundancy increases the reliability of the code 
because the machine can be made to detect the six forbidden combinations. 
The forbidden combinations in the 8421 system, for instance, are 1010, 
1011, 1100, 1101, 1110, and 1111. If one of these combinations occurs, we 
know that the machine has made an error. By introducing at the appro¬ 
priate point in the machine a device which can detect any of these six 
forbidden combinations, we have an automatic means of detecting machine 
errors. 

But the detection of forbidden combinations does not detect all errors. 
Suppose the number 1000 is transmitted and the machine causes the 
second-order bit to invert, thus transmitting 1010. Since this is a forbidden 
combination, the machine can detect it. But suppose the first-order bit is 
inverted and 1001 is transmitted. This is not a forbidden combination—it 
is the representation for 9—and it may go undetected. 

If we increase the redundancy further by introducing another bit to 
each coded combination, we could develop a system which could discover 
an error due to the change of any of the bits in the coded combination. 
To do this, we would have to make this bit related to the others. One way 
of doing this would be to form the rule that the sum of all the one bits in 
each 5-bit combination must always be odd. Ori the basis of this rule, 
the check bit (as the fifth-order bit is called) for the 8421 code is as follows: 


\^Order of Bit 

5 

4 

3 

2 

1 

^\^Weight 

Decimal\^ 

Check 8 

4 

2 

1 

0 

1 

0 

0 

0 

0 

1 

0 

0 

0 

0 

1 

2 

0 

0 

0 

1 

0 

3 

1 

0 

0 

1 

1 

4 

0 

0 

1 

0 

0 

5 

1 

0 

1 

0 

1 

6 

1 

0 

1 

1 

0 

7 

0 

0 

1 

1 

1 

8 

0 

1 

0 

0 

0 

9 

1 

1 

0 

0 

1 


If a bit in any of these combinations should change, the sum of the one’s 
would no longer be odd but even. The machine could be made to detect 
this. This system of checking is called parity checking. 






52 


ARITHMETIC AND LOGIC 


A binary-coded decimal system with an added check bit is called a self¬ 
checking code. Other self-checking codes are shown in Table 13. In the 
other self-checking codes shown—the two out of five, modified bi-quinary 


TABLE 13 

Self-Checking Codes 


8421 with 
Parity Check 


2 out of 5 


Modified 

Bi-Quinary 


Modified 

Qui-Binary 


Order of Bit 


Decimal 



5 

4 

3 

2 

1 

5 

4 

3 

2 

1 

7 

6 

5 

4 

3 

2 

1 

Check 

8 

4 

2 

1 

7 

4 

2 

1 

0 

5 

0 

4 

3 

2 

1 

0 

1 

0 

0 

0 

0 

1 

1 

0 

0 

0 

0 

1 

0 

0 

0 

0 

1 

0 

0 

0 

0 

1 

0 

0 

0 

1 

1 

0 

1 

0 

0 

0 

1 

0 

0 

0 

0 

1 

0 

0 

0 

1 

0 

1 

0 

1 

0 

0 

1 

0 

0 

1 

0 

0 

1 

1 

0 

0 

1 

1 

0 

0 

1 

0 

1 

0 

0 

0 

0 

0 

1 

0 

0 

0 

1 

0 

0 

1 

0 

1 

1 

0 

0 

0 

0 

1 

0 

1 

0 

1 

0 

1 

0 

1 

0 

1 

0 

0 

0 

0 

0 

1 

1 

0 

1 

1 

0 

0 

1 

1 

0 

0 

1 

0 

0 

0 

0 

1 

0 

0 

0 

1 

1 

1 

1 

0 

0 

0 

1 

1 

0 

0 

0 

1 

0 

0 

0 

1 

0 

0 

0 

1 

0 

0 

1 

0 

1 

0 

0 

1 

0 

0 

0 

1 

1 

0 

0 

1 

1 

0 

1 

0 

0 

1 

0 

1 

0 

0 

0 

0 



0 0 
0 0 
0 0 
0 0 
0 0 
0 0 
0 1 
0 1 
1 0 
1 0 


0 0 1 
0 0 1 
0 1 0 
0 1 0 
1 0 0 
1 0 0 
0 0 0 
0 0 1 
0 0 0 
0 0 0 


0 1 
1 0 
0 1 
1 0 
0 1 
1 0 
0 1 
0 0 
0 1 
1 0 


and modified qui-binary systems—the rule used for checking is that each 
digit must have two and only two one’s. If an error causes the number of 
one’s in a digit to change, this fact can be detected. 

Alphanumeric Codes 

Many computers can process letters and editing marks as well as digits. 
To take care of all these characters, the number of bits in each coded 
combination is expanded to six plus a check bit, or to a total of seven bits. 

One such alphanumeric code is presented in Table 14. 

The code used for teletype transmission accomplishes the same purpose 
with only five bits. Five bits can be used to represent 32 characters, which 
is not enough to take care of the 26 letters, 10 digits, and many editing 
marks. To get around this impasse, the teletype code uses the same codes 
for the 26 letters and for the digits and editing marks. To avoid confusion, 
one of the unused combinations is used to signal that the message which 
follows consists of alphabetic information; or, if receiving alphabetic 
information, the special code signals that the following information con¬ 
sists of digits and editing marks. The teletype code is shown in Table 14. 


TABLE 14 

Alphanumeric Codes 


7-Bit Code 


Teletype Code 


Order of Bit 



Note: 11011 on teletype means “switch to figures. 
11111 on teletype means “switch to letters. 1 

53 




54 


ARITHMETIC AND LOGIC 


WORD AND NUMBER LANGUAGES 


55 


SUMMARY 

|. The more redundant the language, the greater its reliability. The less 
redundant the language, the more powerful it is as an instrument for rigorous 

thought. 

2. Ancient number systems were additive; present-day number systems are 
positional. The invention of zero made the positional notation possible. Whe 
numbers are written in exponential form, a positive exponent indicates the number 
of digits between the most significant digit and the decimal point to the r ght, a 
minus exponent indicates the number of digits to the right of the decimal poin . 

3. The binary number system with two digits (zero and one) is especially 
useful because of its similarity to bivalued logic, the ease with which it can be 
mechanized, and the resultant simplicity of binary arithmetic. 

4. Integral (fractional) decimal numbers may be converted to numbers in a 
base less than 10 by a technique of dividing (multiplying) successively by the 
base. Numbers in systems having bases of less than 10 may be converted to 
decimal by multiplying each digit by a weight assigned to the d.git position_in 
question, and summarizing; the weights are multiples of the base of the number 
system from which the numbers are being converted. 

5. There is a special relationship between binary and octal numbers If bits of 
a binary number are grouped into threes, the decimal value ot each 3-bit com¬ 
bination provides the octal equivalent of the binary number. 

6. Four bits may be used to encode a decimal digit. By weighting each bit 
differently, several such encoding schemes can be produced By using six bits, 
letters of the alphabet, editing marks as well as digits may be encoded. 

7. Reflected number systems are useful in systems requiring the conversion o 
analog signals to digital form because only one digit changes when switchi g 
from one number to the succeeding number. 

8. Addition is the process of counting two numbers in the same direction. 
Subtraction is the process of first counting one number in one direction^ then 
counting the other number in the opposite direction. Negative numbers may be 
replaced by complements to convert subtraction problems into addition problems. 

9. Checking is facilitated by redundancies. Any coded-decimal system may be 
converted to a self-checking code by the inclusion of a checking bi . 

10. Definitions to Remember 

DIGIT— A symbol representing one of the elements in a positional number 

Sy BIT^-One of the two elements used in the binary number system. Also one of 

the two elements used in coded-decimal systems. 

BASE OR RADIX —Number of digits (or bits) to a number system. 
MODULUS— One more than the maximum number attainable in any 

practical counter. 

SIGNIFICANCE— Rank of digit position in a number. 

LEAST SIGNIFICANT DIGIT (LSD)— The rightmost digit ot a number. 
MOST SIGNIFICANT DIGIT (MSD)— The leftmost digit of a number. 

BINARY-CODED DECIMAL NOTATION— A decimal number system in 

which each digit is represented by a group of bits. 

ORDER —Rank of bits in a coded-decimal digit. 

COMPLEMENT: 


10 s The number which must be added to the given number to obtain the 
modulus in the decimal system. 

9’s—One less than the 10's complement. 

2 s The number which must be added to the given number to obtain the 
modulus in the binary system. 

I s—One less than the 2’s complement. 

REDUNDANCY— The use of more symbols to encode a message than are 
strictly necessary. 

PARITY CHECK— Comparison of the sum of 1 bits in a coded representation 
to see if it is odd or even. 

FORBIDDEN COMBINATION CHECK —A check which tests for occurrence 
of a nonpermissible code combination. 

SELF-COMPLEMENTING CODE —A code in which all numbers may be 
converted to their 9’s or l’s complements by inverting l’s and 0’s. 

SELF-CHECKING CODE —A code in which it is easy to check each character 
because of a redundancy in each character. 






















CHAPTER 3 

Arithmetic processes 


Almost all practical mathematical operations may be converted into 
arithmetic operations; and all arithmetic operations are extensions of the 
operation of addition. This means that if we can build a device which can 
add, we can, with a few modifications, convert it to a device which can 
also subtract, multiply, divide, take the square root, and integrate; and by 
proper programming, we can even cause it to perform problems in higher 
mathematics. 

Before building this adding device, we review the rules of algebraic 
addition, and then go through several methods for multiplying, dividing, 
and taking the square root in the decimal system. This is followed by 
methods of performing the same arithmetic operations in binary and in 
coded-decimal systems. 


ALGEBRAIC ADDITION 

Algebraic addition refers to the summation of numbers some of which 
are positive and some of which are negative. There are several methods for 
algebraic addition in the decimal system. The addition may be performed 
by using the numbers given, or it may be done after the negative numbers 
are converted into their 10’s or 9’s complements. Variations of these 
techniques are possible. Some of the common methods of algebraic 
addition are discussed in the following. 

Using Absolute Values 

The rules of algebraic addition of absolute decimal numbers are simple 
and straightforward. 

1. To add two numbers whose signs are alike—both plus or both minus— 
add the numbers and give the sum the sign of either number. 

56 


ARITHMETIC PROCESSES 


57 


Example: 


+372 
+ 198 

+570 


-372 

-198 

-570 


Augend 

Addend 

Sum 


2. To add algebraically two numbers whose signs are unlike—plus and 

minus or minus and plus subtract the numerically smaller number from 

the numerically larger number and give the sum the sign of the numerically 
larger number. 


Examples: 


+372 

-198 


-372 
+ 198 


Minuend 

Subtrahend 


+ 174 — 174 Difference 


The terms minuend, subtrahend, and difference are used to show that a 
subtraction is performed; augend, addend, and sum are perhaps more 
correct since the process is algebraic addition. 

Using 10’s Complement 

Algebraic addition of two terms whose signs are unlike may be per¬ 
formed in the following manner. All negative numbers may be replaced 
by their 10 s complements and the terms added. The treatment of the 

sum depends upon whether or not a decimal carry is produced from the 
most significant position. 

1. If a decimal carry occurs, ignore the carry and make the sign plus. 

Example: 

+372-->-372 

~198 -10’s complement—>.802 

(1)174- 


+ 174 


> +174 = Sum 


2. If no decimal carry occurs, take the 10’s complement of the tentative 
sum and make the sign negative: 


Example: 

—372-10's complement 

+ 198-- 


-174 


628 
>198 

826 


—10’s complement—>* — 174 = Sum 

Note that, if we change the sign of the number every time we comple¬ 
ment, we automatically arrive at the correct sign of the answer. This is 
logical because when we take the complement we count in the opposite 
direction from that in which wc have been counting before. 




























58 ARITHMETIC AND LOGIC 

Using the 9’s Complement 

A similar set of rules applies for determining the sum of two unlike 
numbers when algebraic addition is performed with the aid of the 9’s 
rather than the 10’s complements. Again we take the complement of the 
negative term and add. The sum is treated in one of two ways depending 
upon whether or not a decimal carry is produced from the most significant 

position: 

1. If a decimal carry occurs, add this 1 to the LSD of the tentative sum 
(end-around carry), and make the sign of the sum positive. 

Example: 

+ 372->372 

— 198-9’s complement—>-801 

^174 (1)773 

End-around carry 

174-> + 174 = Sum 

2. If no decimal carry occurs, take the 9’s complement of the tentative 
sum and make the sign of the sum negative. 

Example: 

+ 198->198 

—372-9’s complement—>627 

_174 825-9’s complement—> — 174 = Sum 

Adding the end-around carry when working with the 9’s complement is 
equivalent to taking the 10’s complement of the addend originally, because 
the 10’s complement of a number is one more than the 9’s complement of 

the number. 


MULTIPLICATION 

Pencil-and-Paper Multiplication 

Every schoolboy knows the following method of multiplying 728 by 451: 

728 Multiplicand 

x451 Multiplier 

728 First partial product 

3640 Second partial product 

2912 Third partial product 

328328 Product 

Why do we indent the second partial product (3640) one digit position to 
the left? and the third partial product another digit position to the left? 


ARITHMETIC PROCESSES 59 

The answer is as follows. When we multiply 728 by the least significant 
digit of the multiplier (1), what we are actually doing is this: 

700 20 8 

x 1 x 1 x 1 

700 + 20 + 8 = 728 = First partial product 

When we multiply 728 by the second digit (5), we are not really multiplying 
by 5 but by 50: 

700 20 8 

x 50 x 50 x 50 

35000 + 1000 + 400 = 36400 = Second partial product 

We put the second partial product down as 3640, but indented to the left 
one place, making it equivalent to 36400. In the same way when we multi¬ 
ply 728 by 4, we are not really multiplying by 4 but by 400: 

700 20 8 

x400 x 400 x 400 

280000 + 8000 + 3200 = 291200 = Third partial product 

We put the third partial product down as 2912, but shifted one digit 
position to the left of the second partial product, making it equivalent to 
291200. 

Right- and Left-Hand Component Method 

When multiplying pairs of digits in the pencil-and-paper method, we may 
obtain a carry; this carry must be added to the result of the multiplication 
of the next pair of digits. To avoid complication which such a routine may 
cause in a machine, the product of each digit pair may be separated into a 
right-hand or product digit, and a left-hand or carry digit. These digits are 
part of the left- and right-hand components respectively. The right- and 
left-hand components are summed separately. The sum of the left-hand 
components is then shifted one place to the left and added to the sum of 
the right-hand components to obtain the product. 

Example: 

728 

x451 



f 000 

728 ' 

j 

Left-hand components 

314 

500 

[ Right-hand components 


203 

882 

Left-hand sum 

23440 

93928 

Right-hand sum 



23440 

Left-hand sum, shifted left 



328328 

Product 





60 


ARITHMETIC AND LOGIC 


ARITHMETIC PROCESSES 


61 


Multiplication by Repeated Addition 


By storing the multiplication table in the machine s memory, it is 
possible to adapt the pencil-and-paper method of multiplication to 
machine computation. To avoid occupying such valuable storage space, 
multiplication in most present-day machines is performed by a process 
of repeated addition. Very little extra storage is needed because the 
additions are performed by the same adder used for straightforward 


addition. u . 1; 

The method of repeated addition is based upon the meaning of multipli¬ 
cation. The multiplication symbol tells us to add the multiplicand to 
itself the number of times specified by the multiplier. For instance, 8 
times 4 means that we should add four 8’s together to get 32. 


Example: 

728 = 728 
x451 x 4 x 10 2 

2912 x 10 2 

728 

728 

= 728 + 

728 

2912 x 10 2 
= 291200 
= 328328 


728 

728 

x 5 x 10 1 

x 1 x 10° 

3640 x 10 1 

728 x 10° 

728 

728 

728 


728 + 


728 


728 


pH 

o 

X 

rn 

+ 728 x 10° 

36400 

+ 728 


The following summation is equivalent to the above steps: 


728 

728- 

728 

728 

728 

728- 

728 

728 

728 

728 

328328 


x 1 


x 5 


x 4 


The latter summation is easy to adapt to machine computation because only 
addition and shifting of digits are required. 


DIVISION 


Pencil-and-Paper Division 

The following is an example of the pencil-and-paper method of division: 


Example: 


1241 Quotient 


Divisor 365)452980 

365 

879 

730 

1498 

1460 

380 

365 

15 


Dividend 

First intermediate remainder 
Second intermediate remainder 
Third intermediate remainder 
Remainder 


If the understood zeros are filled in, the example looks like this: 


1241 

365)452980 

365000 

87980 

73000 

14980 

14600 

380 

365 

15 


Whereas in multiplication each successive partial product is shifted one 
position to the left of the previous partial product, in division each 
successive intermediate remainder is shifted to the right of the previous 
intermediate remainder. 

Division by Repeated Subtraction 

The pencil-and-paper method of division is hard to mechanize because 
of the comparisons and trial-quotient digits needed. A more easily 
mechanized way of performing division uses a system of repeated sub¬ 
traction. In this method the divisor is repeatedly subtracted from the 



62 ARITHMETIC AND LOGIC 

« • 

dividend until an intermediate remainder is obtained which admits of no 
further subtraction (without obtaining a negative result). The number of 
subtractions performed is the value of the MSD of the quotient. Next, the 
divisor is shifted one place to the right and the subtractions are repeated. 
The number of subtractions required to produce a remainder which admits 
of no further subtractions determines the next most significant digit of 
the quotient. This procedure is repeated until the required decimal places 

have been obtained. 


Example: 

365)452980 

365000-1 subtraction 

87980 

36500\ 

51480 ^ 2 subtractions 
36500 "^ 

14980 

3650 

11330\ 

3650nA 

7680 ^4 subtractions 
3650 ^/ 

4030 / 

3650 

380 

365-1 subtraction 

"T5 


QUOTIENT DIGIT 

1 -MSD- 

2 

4 

v 

1241 = Quotient 

1-LSD 



Restoring Method of Division 

From the standpoint of the machine, division by repeated subtraction 
has one flaw: the machine cannot tell by looking at it whether an inter¬ 
mediate remainder admits of further subtraction or not. To get around 
this objection we make the machine repeatedly subtract the divisor until 
a negative intermediate remainder is obtained. The negative remainder 
indicates that the divisor was subtracted one more time than necessary. 
Therefore, as soon as a negative intermediate remainder is detected, the 
divisor is added to it to restore it to the correct intermediate remainder. 
This is why this method is called the restoring method of division. After 
the first intermediate remainder is developed, the next digit is brought 
down from the dividend, the divisor is shifted to the right one place, and 
the next series of subtractions is performed. 


ARITHMETIC PROCESSES 



Example: 

365)452980 

Subtract 

365000 x 

087980 ^ 2 subtractions 
365000^ 

Subtract 

Add to restore 

-722980 

365000 

Shift and subtract 

087980 

36500. 

Subtract 

51480\ 

36500 y 3 subtractions 

Subtract 

14980/ 

36500 

Add to restore 

-78480 

36500 

Shift and subtract 

14980 

3650 

Subtract 

1 133o\ 

3650 \ 

Subtract 

7680 \\ 

3650—-5 subtractions 

Subtract 

4030 // 

3650'/ 

Subtract 

0380/ 

3650 7 

Add to restore 

-6730 

3650 

Shift and subtract 

0380 

365 v 

Subtract 

015 ffl subtractions 
365^ 

Add to restore 

-650 

365 


015 


QUOTIENT DIGIT 


1—MSD 



r 

1241 = Quotient 


1-LSD 


Note that the quotient digit in each case is one less than the number of 
subtractions required to yield a negative intermediate remainder. 


Nonrestoring Method of Division 

The nonrestoring method of division is similar to the restoring method 
except that, after the first series of subtractions, the next quotient digit is 
obtained by performing a series of additions, the following quotient digit 
by performing a series of subtractions, and so on. The method is called 
nonrestoring because intermediate remainders are not restored as in the 
previous method. 











64 


ARITHMETIC AND LOGIC 


Example: 


QUOTIENT DIGIT 


Subtract 

Subtract 

Shift and 
add 

Add 

Add 

Add 

Add 

Add 

Add 

Add 

Shift and 
subtract 

Subtract 

Subtract 

Subtract 

Subtract 

Shift and 
add 

Add 

Add 

Add 

Add 

Add 

Add 

Add 

Add 


365)452980 

365000 

087980 

365000 


759480 
36500 

795980 

36500 

832480 

36500 

868980 

36500 

905480 

36500 

941980 

36500 

978480 

36500 


11330 

3650 

7680 

3650 

4030 

3650 

0380 

3650 


7095 

365 

7460 

365 

7825 

365 


2 subtractions: 2 — 1 = 


1—MSD 


—722980 negative remainder 


36500 



8 additions: 10’s complement = 2 



+014980 positive remainder 


3650 




5 subtractions: 5 — 1 = 


—6730 negative remainder 


1241 = Quotient 
A 


8555 

365 

8920 

365 

9285 

365 



» 

9 additions: 10’s complement 


= 1—LSD 


I'oxltlv* rcmuimler 


ARITHMETIC PROCESSES 65 

Here is the method. The divisor is repeatedly subtracted from the 
dividend until a negative remainder is produced. One less than the number 
of subtractions performed is the MSD of the quotient. The divisor is 
shifted one place to the right and added successively until a positive inter¬ 
mediate remainder is produced. The 10’s complement of the number of 
additions performed is the second most significant quotient digit. The 
divisor is shifted to the right again and subtracted successively until a 
negative intermediate remainder is produced. One less than the number 
of subtractions performed is the next quotient digit. The divisor is 
shifted right again and added successively until a positive intermediate 
remainder is produced. The 10’s complement of the number of additions 
performed is the fourth quotient digit, and so on. 

Note that the negative remainders are the same as the negative re¬ 
mainders obtained from the corresponding series of subtractions in the 
restoring method; and that the positive remainders are the same as the 
corresponding remainders obtained after the restoring addition in the 
restoring method. So evidently the series of additions in the nonrestoring 
method accomplishes the same thing as the series of subtractions plus the 
restoring addition in the restoring method. Why is this so? 

To find the answer to this question, let us compare the two methods 
starting at the subtraction that produces the first negative remainder. In 
the restoring method, after subtracting 365000, the entire 365000 is added 
back; then the divisor is shifted right to convert it to 36500, which is 
repeatedly subtracted to obtain the second most significant quotient digit. 
In the nonrestoring method, instead of completely restoring the 365000, 
the divisor is shifted right and the resultant 36500 is added successively. 
This means that 10 times 36500 is subtracted and 8 times 36500 is added; 
in effect, 36500 is subtracted twice. The total effective number of sub¬ 
traction is thus equal to the 10’s complement of the number of additions. 

It is possible to perform the nonrestoring method of division by means 
of additions alone—by the addition of complements. 


SQUARE ROOT 

Three methods of obtaining the square root are discussed here: the 
pencil-and-paper method, the subtractive method, and the approximation 
method. 

Pencil-and-Paper Method 

The pcncil-and-paper method of obtaining the square root of a number 
can be illustrated best by an example. 






66 


ARITHMETIC AND LOGIC 


Example: 


Trial divisor 


3 7 Square root 

Vl3 69 Square 
9 

67) 4 69 First intermediate remainder 

4 69 


Note that before any calculation is performed the digits of the number 
whose square root is to be obtained are grouped in pairs. The most 
significant digit of the square root is then obtained by a process of tna 
and error: we look for a digit whose square is as close as possible to 13 
without being greater than 13. After subtracting the square of 3-which 
i s 9 —from 13 and then bringing down the next pair of digits (69), we 
double 3 and record the 6 with a space to its right as a trial divisor. Again, 
by a process of trial and error, we seek a digit which can be placed to the 
right of the 3 under the square root sign and also to the right of the 6 in the 
trial divisor. This digit—in this case 7—must be so chosen that when it is 
multiplied by the trial divisor—in this case 67—we will get a number 
smaller than or equal to the intermediate remainder 469. 


Subtractive Process 

This method is easy to mechanize because it depends upon a simple 
rule and the steps in the rule are very much alike. The method is based 
upon an unusual relationship which is shown in Table 15. 


TABLE 15 

Relationship Between Equivalent Series of Squares and Square Roots 

Square Root 

S q uare Equivalent Series_ (Number of Terms) 


i > 5 

4 1+3 “ 

9 1+3+5 ^ 

16 1 + 3 + 5 +7 * 

25 1 + 3 + 5 + 7 + 9 5 

36 i + 3+ 5+7+9 + 11 

49 i+ 3 + 5 + 7+9 + 11+13 7 


The number of terms combined is equal in every case to the square root 
of the number in question. This relationship has been proved to be 
universally true. This principle may be applied in practice, as show y 

the following examples. 


ARITHMETIC PROCESSES 


67 


Example: Find the square root of 25 


Subtract 


Subtract 


Subtract 


Subtract 


Subtract 


25 

1 > 

24 

_3 

2l 

_5 

16 

T 

~9 

_9 

0 


5 subtractions; the square root is 5 


Example: 


Subtract 


V13 83. 84 
1 ^ 


SQUARE ROOT DIGIT 


Subtract 


3 subtractions 3—MSD 


Subtract 


Add 1 to last subtra¬ 
hend (5) and shift; 
Repeat odd series in 
units position 
Subtract 

Subtract 

Subtract 

Subtract 


Subtract 


Subtract 


Subtract 


Add 1 to last subtra¬ 
hend (73) and shift; 
Repeat odd series in 
units position 
Subtract 


61 

422 

63, 

3 59 
65 

2~94 

67 

227 

69 

f58 

71 

“87 


7 subtractions 


73' 

14 84 


37.2 = 


— \ 

43 2 subtractions 2—LS 
43 / 

00 


Square 

root 


Subtract 


68 


ARITHMETIC AND LOGIC 


When the number whose square root is to be found consists of more than 
two digits, the digits are marked off into groups of two, just as is done in 
the pencil-and-paper method. The odd numbers 1, 3, 5, etc., are sub¬ 
tracted successively from the most significant pair of digits until a re¬ 
mainder is reached from which cannot be subtracted without producing a 
negative term. The number of subtractions performed is the MSD of the 
square root. The next pair of digits of the square is brought down. Then 
a 1 is added to the last subtrahend used; with this digit as the 10’s digit 
and the series 1, 3, etc., as the units digits, we subtract successively again 
until a remainder is produced from which cannot be subtracted without 
producing a negative number. The number of subtractions performed is 
the second significant digit of the square root. The next pair of digits of 
the square is brought down, a 1 is added to the LSD of the last subtrahend, 
and with the series 1, 3, etc., placed to the right of this number, we again 
subtract successively to obtain the next digit in the square root. 

Instead of subtracting, we may add complements. A machine can easily 
execute this process by performing a series of additions and shifts, a 
counter can keep track of the number of additions performed. 

Approximation Formula 

The square root of a number may be obtained by means of the following 
approximation formula: 

Vhi = Vi + • 5 (“ ” Vi 

New square root = previous square root 

_i_ half (- square -previous square root) 

\ previous square root / 

At first a guess of the square root is made, and this value is substituted 
for the “previous square root” in the above formula. The calculated 
“new square root” is then substituted for the previous square root, and 
the formula is applied once more. This procedure is repeated, and each 
time the new square root becomes closer and closer to the actual value of 

the square root. 

Example: Find ^64; a = 64; first guess for = y 0 = 2. 

First approximation 

Vi = Vo + - 5 “ 2/o 

Vl - 2 + .5(Y - 2) = 2 + .5(30) = 17 




ARITHMETIC PROCESSES 


69 


Second approximation 


V 2 = Vi + -5 - 


\i 


\y i / 

y 2 = 17 + .5(ff - 17) = 17 + ,5( —13.235) = 10.382 


Third approximation 


2/3 = 2/2 + -5 - - 2/2 

\ 2/2 


2/3 = 10.382 + - 5 ( 75^2 ~ I0 ' 382 ) = 1032 + - 5 (- 4 - 218 ) = 8 - 273 


Fourth approximation 

2/4 = 2/3 + .5|— - 2/3 

\ 2/3 


2/4 = 8.273 4- .5 


Fifth approximation 


64 

8.273 


- 8.273 = 8.273 4- .5(- .5370) = 8.004 


2/5 = 2/4 + - 5 - - 2/4 

\2/4 


y 5 = 8.004 4- .5 


Sixth approximation 


64 

8.004 


- 8.004 = 8.004 4- .5(- .008) = 8 


2/ 6 =2/ 6 + ^--2/ 5 j 

2/ 6 =8+ .5( s / - 8) = 8 + .5(0) = 8 

This procedure for finding the square root is not usually built into a 
computer. Any computer which can add, subtract, multiply, and divide 
may be programmed to perform this operation. 


BINARY ARITHMETIC 


The rules of binary addition are similar to those for decimal addition, 
except that a binary carry instead of a decimal carry is obtained. 


Example: 


1 0 1 
1 0 0 


0 0 1 


Carry 









70 


ARITHMETIC AND LOGIC 


The subtraction required as part of the algebraic addition of binary 
numbers of unlike signs is similar to decimal subtraction. When sub¬ 
tracting a larger bit (1) from a smaller bit (0), borrows are used as in 

decimal subtraction. 


Example: 


10 10 
0 10 1 
1 1 

0 10 1 


Borrow 


Subtraction by the use of complements is made easy since the l’s 
complement of a number is obtained by converting all 0’s to l’s and all 

l’s to 0’s. 


Example: 

+ 1010 - 

—0101 -l’s complement 


Example: 

+ 1011 - 

— 1100-l’s complement 


>1010 
>1010 
1 1 

-10100 

0101 


Carry 

End-around carry 


+ 0101 = Sum 


>1011 

>0011 

11 Carry 
1110 —l’s complement 


—0001 = Sum 


In multiplication we either write the multiplicand or zero as a partia 
product depending upon whether the multiplier bit is 1 or 0. Then the 

partial products are summed. 


Example: 


1011 
x 1001 

1011 

0000 

0000 

1011 

1100011 


Division is similarly straightforward because each quotient bit is either 
1 or 0. If the portion of the dividend compared is less than the divisor, 
the quotient bit must be 0; if it is greater, the quotient bit must be 1. 


ARITHMETIC PROCESSES 


71 


Example: 

1101 

1110)10111010 

1110 

10010 

1110 

1001 

0000 

10010 

1110 

"Too 

LOCATION OF DECIMAL OR BINARY POINT 

The decimal point separates the digits which represent multiples of ten 
on the left from digits which represent multiples of tenths on the right. 
The binary point separates bits which represent multiples of two on the 
left from bits which represent multiples of a half on the right. 

Before addition can be performed, the decimal or binary points must be 
aligned. 


Examples: 

654127. 

.654127 

654.127 


312. 

.312 

3.12 


654439. 

.966127 

657.247 

Examples: 

110011. 

.110011 

110.111 


111 . 

.111 

1.11 


111010 . 

1.101011 

1000.001 


In multiplication, the rules for locating the decimal (binary) point in the 
product are as follows: 

1. Count the number of places from the right to where the decimal 
(binary) point appears in the multiplicand. 

2. Count the number of places from the right to where the decimal 
(binary) point appears in the multiplier. 

3. Add the two numbers. The sum is the number of places from the 
right where the decimal (binary) point should be placed in the product. 

Example: 

NO. OF PLACES POINT IS FROM RIGHT 

65.4 1 

x .31 +2 

654 

1962 

20274 


3 












72 


ARITHMETIC AND LOGIC 


NO OF PLACES POINT IS FROM RIGHT 

2 

+3 


5 

In division the rule for determining the decimal (binary) point depends 
upon thTielative values of the divisor digits and of an equivalent number 
of digits at the most significant end of the dividend. If the value of the 
divisor digits is greater than the value of an equivalent number of digits 
the most significant end of the dividend, do the following. 

1 Count the number of places from the left to where the decimal (binary) 
'fSt fro. .he left to where the hecinta, 

‘TSSS Site, The difference is — £ 

places from the left where the decimal (binary) point should be placed in 

the quotient. 

Example: 

Dividend 324.01 Divisor digits 

Divisor 4886) greater 

NO. OF PLACES POINT IS FROM LEFT 

Dividend ** 

Divisor _ 

Quotient “ 1 

Minus one means that the point is not one place to the right of the most 
significant nonzero digit but one place to the left ot it. 

Example: 

Dividend 1010 10.1 Divisor digits 

Divisor 1110 J greater 

NO. OF PLACES POINT IS FROM LEFT 

Dividend ® 

Divisor Z-L 

Quoticnt 2 


lx.xxx 

ino.)ioioio.obb 


.0x 

4886.)324.000 


Example: 

110110.11 
x .111 

11011011 

11011011 

110 11011 

101111.11101 


ARITHMETIC PROCESSES 


73 


If the value of the divisor digits is smaller than the value of an equivalent 
number of digits in the dividend, the subtraction is performed as before, 
but this time the remainder plus one is the number of places the point in 
the quotient is from the left. 

Example: 

Dividend 488 648.) Divisor digits 

Divisor 244 I smaller 

NO. OF PLACES POINT IS FROM LEFT 

Dividend 6 

Divisor —3 

3 

+ 1 

Quotient 4 

Dividend 11.000) Divisor digits 

Divisor 10101 I smaller 

NO. OF PLACES POINT IS FROM LEFT 

Dividend 2 

Divisor —5 

^3 
+ 1 

Quotient —2 

The decimal (binary) point need not be moved directly. We may express 
numbers with the aid of the base and exponent as follows: 

3000. = .3 x 10 4 

.00324 = .324 x 10~ 2 

654.127 = .654127 x 10 3 

The decimal (binary) point may be located indirectly by properly changing 
the exponent of the base. The rules for dealing with the exponents are as 
follows. 

To add two numbers follow these rules. 

1. Make both exponents the same. 

2. Add the significant digits. 

3. The new sum consists of the sum of the significant digits multiplied by 
the base to the common exponent. 


.00x 

10101.)! 1.0000 


xxxx. 

244.)488648.000 


Example: 





74 ARITHMETIC AND LOGIC 

Example. 6'54.127 = .654127 x 10 3 

3.120 = .00312 x 10 3 
657.247 = .657247 x 10 3 

Example: 

11101.101 =.11101101 x 2 5 

.0011 = .0 00000011 x 2 5 

11101.1101 = .111011101 x 2 5 

Multiplication is fairly easy. Multiply the digits in the ordinary way, 
but add the exponents. 

Example: 

65.4 = .654 x 10 2 

x.31 = .31 x 10° 

654 654 

1962 1962 

20.274 = .20274 x 10 2 

Example: 

11.011 = -11011 x 2 2 

x.011 = x Tl_ x 2 1 

11011 non 

lion non 

1.010001 = .101001 x 2 1 

In division the digits are divided normally but the exponent of the 
divisor is subtracted from the exponent of the dividend. 


488648 = .488648 x 10® 
200 = .200 x 10 3 

.488648 = 2.443 x 10 3 

200 


1000.1 

10101.010 = .10101010 x 2 5 

10.1 = -101 x2 

.10101010 = 1.0001 x 2 3 

.101 


Example: 

10101.010 

10.1 



ARITHMETIC PROCESSES 


75 


CHECKING 


The forbidden combination check, the parity check, and other types of 
redundancy checks are based on the rules of the language. It is also 
possible to perform checking based on arithmetic. Several arithmetic 
checking schemes utilized by computers are discussed in the following. 

Duplication 

We all do this type of checking, especially when adding columns of 
digits. We repeat the addition. If the sum obtained the second time is the 
same as the sum obtained the first time, we assume the addition is correct. 
If the second sum is different from the first sum, we assume we made an 
error. This procedure is applicable to any arithmetic operation. 

Inverse Arithmetic 


An arithmetic operation may be checked by performing its inverse. 
Subtraction is the inverse of addition, division is the inverse of multipli¬ 
cation, and taking the square root is the inverse of squaring. The method 
is obvious from the following examples. 


Example: 


SUBTRACTION 

7 Minuend 
—4 Subtrahend 

3 Difference 


CHECK BY 
ADDITION 

3 Difference 
+4 Subtrahend 

7 Minuend 


Example: 


DIVISION 


Dividend 100 
Divisor 5 


= 20 Quotient 


CHECK BY 
MULTIPLICATION 

20 Quotient 
x 5 Divisor 

100 Dividend 


Example: 


CHECK BY 
SQUARE ROOT SQUARING 

5 Square root 5 Square root 

x 5 Square root 

25 Square 25 Square 

Casting Out 9’s and 7’s 

Casting out 9’s is a checking scheme which has been used by book¬ 
keepers for years. In this scheme every number taking part in an arithmetic 















76 


ARITHMETIC AND LOGIC 


operation is divided by 9; the remainder is therefore a number in 
modulus 9. This remainder is called the Residue Modulus Nine or RMN. 

Example: Find RMN of 236. 


236 


= 26| RMN = 2 


Example: Find RMN of 421. 


421 


= 46! RMN = 7 


Checking is accomplished by performing the same operations on the 
rMN’s as are performed on the numbers. The following rules apply to 

the RMN’s: 

1. To check addition, add the RMN’s of the numbers. The result 
should be equal to the RMN of the sum. 


Example: 


NUMBERS 

2534 

4-1273 

3807 RMN of sum 


RMN 

5 

4-4 

0 = Sum of RMN’s 


Note that in the modulus 9 scheme, the digit after 8 is not 9, but 0. 

2. To check subtraction, subtract the RMN’s of the numbers. The 
result should be equal to the RMN of the difference. 


Example: 


numbers 

2534 

-1273 

1261 RMN of difference 


RMN 


= 1 = Difference of RMN’s 


3. To check multiplication, multiply the RMN’s of the numbers. The 
result should be equal to the RMN of the product. 


Example: 


numbers 

253 

x75 

18975 RMN of product = 


RMN 

1 

x3 
3 = 


Product of RMN’s 


4. To check division, multiply the RMN of the quotient by the RMN of 
the divisor and add the RMN of the remainder. The result should be the 

RMN of the dividend. 



Binary numbers may be checked by a scheme of casting out 7’s. 
To obtain the Residue Modulus Seven (RMS) of a binary number, the 
number is divided by binary 7 or LI 1; the remainder is the RMS. 

Example: Find the RMS of 1010110. 

1 100 

111)1 010 110 
111 

011 110 
11 1 

010 = RMS 


The rules for checking in the RMS system are similar to those used in the 
RMN system. 


Example of Addition: 


NUMBERS 

RMS 

1 010 110 

010 

+010 111 

010 

1 101 101 RMS of sum = 

100 = Sum of RMS’s 


SUMMARY 

1. In algebraic addition, if the signs are the same, the terms are added 
normally. If the signs of the augend and addend are different, the complement of 
the addend is added to the augend. 

a. If a carry is produced from the most significant digit position, it is ignored 
if the 10’s or 2’s complement has been taken; an end-around carry is 
performed if the 9’s or 1 ’s complement has been taken. 

b. If no carry is produced, the complement—10’s, 9’s, 2’s, or l’s—of the sum 
is taken. 

2. Most systems of multiplication are based upon the pencil-and-paper 
method. In the left-and-right-hand component method, the product of each 
pair of digits is divided into two components: left and right; then the components 







78 


ARITHMETIC AND LOGIC 


are summarized separately and combined to give the product. In the method of 
repeated addition, the multiplicand is repeatedly added a number of times as 
determined by the multiplier digits. Each successive group of additions is 

shifted one position to the left. 

3. Division is usually performed by a system of repeated subtraction. In the 
restoring method, each group of subtractions is taken to the point where the 
remainder changes sign, then an addition is performed to restore the remainder. 
At that point the divisor is shifted right, and the next series of subtractions is 
performed, etc. In the nonrestoring method, first a series of subtractions is 
performed; when the remainder is negative, a series of additions is performed; 
when the remainder turns positive a series of subtractions is performed, etc. 

4. Arithmetic in binary is very simple because of the simple addition and 
multiplication tables. 

5. Arithmetic may be checked by a system of casting out 9’s or 7’s. RMN or 
RMS of each factor is obtained by dividing by 9 or 7. The RMN and RMS are 

used as follows: x 

a. The sum of the RMN (RMS) of two numbers is equal to the RMN (RMS) 

of the sum. ____ T 

b. The difference of the RMN (RMS) of two numbers is equal to the RMN 

(RMS) of the difference. 

c. The product of the RMN (RMS) of two numbers is equal to the RMN 

(RMS) of the product. 

d. If the RMN (RMS) of the quotient is multiplied by the RMN (RMS) ot 

the divisor and added to the RMN (RMS) of the remainder, the result 
should be the RMN (RMS) of the dividend. 


CHAPTER 4 

Machine logic 


Logic is the cement of language. Formal logic is the cement holding the 

propositions of syllogisms together. In the more general case bivalued 

logic applies to the relationships among classes. By using letters of the 

alphabet to designate bivalued classes and mathematical symbols to 

represent logical connectives, an algebra of logic can be developed. 

This logical algebra can be applied to mechanize the rules of arithmetic 

(or anything else) in the following way. The conditions of the problem are 

summarized in what is known as a truth table. From this truth table are 

found the algebraic equation or equations expressing the relationships 

among all the classes of the problem. This equation or set of equations is 

then converted to a logical block diagram, which is essentially a plan for 
the construction of the device. 

But there is more to the plan of a practical device than what can be 
specified by the rules of algebra of logic. In the computer, propositions 
are represented by signals, and amplifiers are needed to maintain the 
strength of these signals. In formal logic time is not considered; in 

* . is a very important element, and its con- 

sideration leads to the use of storage devices. Practical machine logic 

therefore consists of amplifiers and storage elements in addition to elements 
representing the fundamental logical connectives. 


BASIC ELEMENTS OF FORMAL LOGIC 

Graphical Logic 

Logic deals with relationships among classes. For instance: 

All men who go to college have a high IQ. 

Jack is a man who is attending college. 

Therefore, Jack has a high IQ. 

79 

























80 arithmetic and logic 

The above is a syllogism having three classes: Jack, men who attend 
college and men with high IQ. This simple syllogism may * h ^fore be 
expressed graphically as shown in Fig. 13. The illustration shows that 
class A or Jack, is a member of class B, or the class of men attending 
college,’ which in turn is a member of U, the universal class consisting of 

all men with high IQ. 



U 

B 

A 


Universal class of men with high IQ 
Class of men attending college 
Jack 



Not-A or Not-B 



Not- (A or B) 


A = Men attending college 
B = Men wearing gray hats 

Fig. 13. Graphical logic. 

If only one property such as college attendance is considered, the 

universal class may be divided into two classes: those who attend and 

those who do not attend—class A and class Not-A If two properties of 

the universal class-such as college attendance {A) and wea " n g ° f 8 r ^ 
hats (B) —are considered, then several classes are obtained as^shown the 

illustration. By combining the fundamental classes A, Not-A, B, a 

Not -B, by means of the and connectives we obtain: 

1 a and Not-S—The class of men who attend college and who do not 

W T r Not-^4 and fl-The class of men who do not attend college and who 
wear gray hats. 


MACHINE LOGIC 81 

3. A and Z?—The class of men who attend college and who wear gray 
hats. 

4. Not-A and Not-Z?—The class of men who do not attend college and 
of men who do not wear gray hats. 

5. Not-(A and B) —The class of men who are not both attending college 
and wearing gray hats. 

These classes are shown in the figure. A and Not-Z? is represented by 
the portion of the A circle to the left of the B circle boundary; Not-A 
and B is represented by the portion of the B circle to the right of the A 
circle boundary; A and B is represented by the cross-hatched portion; 
Not-A and Not-# is represented by the area outside the A and B circles; 
and Not-(A and B) is represented by everything outside the center cross- 
hatched area. 

Note that the and connective is restrictive: as a rule, there are fewer 
members in a class containing an and element than there are in any of the 
fundamental classes. 

Combining the fundamental classes by means of an or connective we 
obtain: 

1. A or Not-/?—The class of men who attend college or who do not 
wear gray hats. 

2. Not-A or B —The class of men who do not go to college or of men 
who wear gray hats. 

3. A or B —The class of men who attend college or of men who wear 
gray hats. 

4. Not-(A or B) —The class of men who are not either attending college 
or wearing gray hats. 

5. Not-A or Not-/?—The class of men who are not attending college 
or of men who are not wearing gray hats. 

These classes are also shown in Fig. 13. A or Not-Z? is represented by 
everything within circle A plus everything outside both circles; Not-A or 
B is represented by everything within circle B plus everything outside both 
circles; A or B is represented by the area covered by both circles; Not- 
(A or B) is represented by everything outside both circles; Not-A or 
Not-Z? is represented by everything outside the cross-hatched area. 

Note that the or relation used here is the inclusive or as distinguished 
from the exclusive or. The difference between the two can be seen from 
the following interpretations of A or B: 

A or B (inclusive or)— A or B or both A and B. 

A or B (exclusive or)— A or B, but not both A and B . 

In (his book, or refers to inclusive or, unless specifically stated otherwise. 


















82 


ARITHMETIC AND LOGIC 


MACHINE LOGIC 


83 


Mathematical Logic 

From the above graphical presentation it appears that relationships 
among classes may be presented by means of three logical functions: 

and, or, and NOT 

The same is true not only for two fundamental classes but also when three 
or more fundamental classes are combined. The more fundamental classes 
there are, the more difficult it is to express the many logical relationships 
graphically. But the same ideas may be expressed easily mathematically, 
as the following equalities show: 

A and B and C = A • B • C 
A OR B or C = A + B + C 
Not-/! = A 


With the aid of the above symbols, we may form logical expressions and 
operate on them mathematically. However, a few simple identities and 
laws must first be presented. The following are some identities involving 
and, or and not functions: 

A • 0 = 0 A class with no members (0) can not intersect a class with 

members {A). 

U -A = A Members of class A and of the universal class are the 

same only in class A. 

A • A = 0 It is impossible for a class to intersect its complement. 


A + A = A 
0 + A = A 

U+ A= U 

A + A = U 


A = A 


Class A or class A equals class A. 

The class composed of members of the empty class or of 
class A is class A. 

The class composed of members of the universal class or 
of class A is the universal class. 

The universal class consists of members of a class or of 
members of the complement of this class. 

The complement of the complement of a class is the same 
as the class itself. 


Note that both identity >1*0 = 0 and identity A_ + A = U follow 
directly from the meaning of bivalued logic. Identity A = A is analogous 
to the grammatical rule which states that two negatives make an affirmative. 

In addition to the above identities, there are three laws which all logical 
expressions follow. These laws are illustrated by means of examples as 

follows: 




1. The commutative law: 

A + B = B + A 
A - = B- A 

2. The associative law: 

A + (B + C) = (A + B) + C 

A-(B- C) = (A- B)- C 

3. The distributive law: 

A- (B + C)= (A- B) + (A - C) 

A + (B ■ C) = (A + B) • (A + C) 

These laws are similar to those used in ordinary arithmetic—all except the 
last one: 2 + (3 x 4) is not equal to (2 + 3) x (2 + 4). 

Logical Relationships 

There are other logical functions besides and, or, and not. But all 
other connectives can be shown to be made up of combinations of these 
three logical functions. Several such functions are discussed. 

!; exclusive OR-The exclusive or may be expressed as “A or else 

B. This phrase is interpreted to mean A or B but not both A and B or 
mathematically, 

(A + B) • {A^~B) 

2. if and only if “A if and only if B ” means that, if we have A , we 

also have B, but if we do not have A, we also do not have B , or mathe¬ 
matically, 

(A-B) + (A ■ B) 

3. IF, THEN— “If A then B ” means that, if we have A, we must have B 
too, but if we do not have A, we may or may not have B, or mathematically, 

(A- B) + (A ■ B) + (A ■ B) 

4. inhibit “A is inhibited by B ” means that A occurs providing B is 
not present, or Not-fi is present; mathematically this is expressed as 

A ■ B 

Not even the three functions and, or, and not are independent of each 
other. There is a relationship among these three which can be developed 
Irom the graphs shown in Fig. 13. The area covered by both circles is 

A + B. This means that everything outside this area is (A + B). On the 
other hand, everything outside circle A is A, everything outside circle B is 





















84 arithmetic and logic 

B, and, therefore, everything outside both circles is A ■ B. Thus we arrive 

at the conclusion that_ 

(A + B) = (A-B) 

Now let us look at the area labeled A ■ B. Everything outside this area 
is uTB). On the other hand, everything outside A is A and everything 
outside B is B. A includes the entire area outside both circles plusit 
part of B not intersected by A. B includes the entire area outside both 
circles plus the part of A not intersected by B. Therefore every! ing 
outside^the overlap portion is A + B. Thus we arrive at the conclusion 

that _ 

(A ■ B) = A + B 

From the above two relationships we arrive at the following rule : 

To obtain the inverse of a function, replace all and’s with or’s and 
all or’s with and’s, and invert the terms. 

4 . B) = A • B = INVERTED OR 
( A~-~B) = A + B = INVERTED AND 
( rH) = A + B = INVERTED INHIBIT 

As will be shown in Section II, the inverted functions occur often, 

especially in circuits which use amplifiers that invert the phase of ■the sig, • 

The inverse rule can be applied in another manner. 
erty A is considered, the universal class may be divided into two classes. 

U = A + A 

If two properties A and B are considered, the universal class may be 
divided into the following four classes: 

U = (A ■ B) + (A ■ B) + ( A-B ) + (A ■ B) 

To find the value of (A ■ B) + (A ■ B), we may say that it is equal to the 
complement of the remaining terms; this is similar to saying 
modulo -10 system, 3 is equal to the complement of the remaining digi , 

or 3 equals the complement of 7. Therefore, 

(A ■ B) + {A - B) = (A-B) + {A HJ) 

By replacing on the right-hand side all and symbols with or symbols and 
X ok symbols with lo symbols, and a, ,h= same time mvm.„g each 

individual term, we obtain 

(A ■ B) + (A ■ B) = (A + B) • (A + B) 


(A • B) + (A • 5) = (A • B) + U ’ S) 


MACHINE LOGIC 85 

By replacing on the right-hand side all and symbols with or symbols and 
all or symbols with and symbols, and at the same time inverting all the 
individual terms, we obtain 

(A- B) + (A • B) = (A + B)-(A + B) 

Therefore, and terms linked together by means of or symbols may be 
converted to or terms linked together by means of and symbols. 

Truth Tables 

To apply the rules of the algebra of logic to a problem, we make use of 
a truth table. A truth table is a statement of all the conditions of a problem 
in tabular form. To facilitate the formation of this table, follow the 
convention that one stands for the yes and zero stands for the no of a 
proposition. Stated differently, a one indicates the presence of a certain 
class, A , and zero represents the presence of the opposite class, A. From 
the truth table it is easy to develop the logical expressions stating ail the 
conditions in algebraic terms. 

To understand fully the meaning of a truth table, let us write one which 
represents the operation of a binary comparator. A binary comparator is 
a device which looks at two bits and produces the answer to the following 
question: “Are the two bits unlike?” A one output indicates “Yes, they 
are unlike”; a zero output indicates “No, they are not unlike, they are 
alike.” If the input bits are labeled A and B, and the output bit AT, then 
the conditions of the problem are summarized in Table 16. 

TABLE 16 


Truth Table for Binary Comparator 


Bit 

(A) 

Bit 

(B) 

Comparator 
Output (K) 

0 

0 

0 

0 

1 

1 

1 

0 

1 

1 

1 

0 


To find the logical equation for the binary comparator, we ask ourselves 
“Under what conditions does the comparator produce a one?” The 
answer is given on lines two and three: when A equals zero and B equals 
ONE or A-B; or when A equals one and B equals zero or A • B. Therefore, 
the algebraic expression for the binary comparator is 

K = (A • B) + (A • B) 


Similarly, 




























86 ARITHMETIC AND LOGIC 

As another example, let us take a half-adder. A half-adder is a binary 
adder that has two inputs, augend and addend. It is called a half-adder 
because it does only half the job of addition; a full adder adds three bits, 
the augend, addend, and carry from the last bit position. The half-adder 

addition table is presented in Table 17. 


TABLE 17 

Truth Table for Half-Adder 


Augend 

(A) 

Addend 

( B) 

Sum 

(S) 

Carry 

(C) 

0 

0 

0 

0 

0 

1 

1 

0 

1 

0 

1 

0 

1 

1 

0 

1 


To express the operation of a half-adder, we need two equations: one 
for the sum and one for the carry. From the table we see that the sum is 
one under the same conditions as for the binary comparator. Therefore 

the sum is 

S = (/ • B) + (A ■ B) 

The table also shows that a carry is produced or C — one only when both 
A and B are one, or 

C= A- B 

Since the equation for the 2-bit sum represents roughly half the job 
performed by the half-adder, a circuit which performs this operation is 
often called a quarter-adder. Now, we know that 

S = K = (A ■ B) + (A ■ B) 

We know also that 

(A • B) + (A • B) = (A + B) • (A + B) 

and that _ 

(A + B) = (A ■ B) 

The equation for the 2-bit sum then reduces to 

S=K=(A + B)-(A^B) 

which is exactly the same as the equation for the exclusive or function. 
Therefore, the binary comparator, quarter-adder, and exclusive or are 

all one and the same. 


MACHINE LOGIC 87 

The truth table for a full 3-input binary adder is given in Table 18. 


TABLE 18 

Truth Table for Binary Adder 


Augend 

(A) 

Addend 

(B) 

Previous 

Carry 

(n 

Sum 

(S) 

Carry 

(C) 

0 

0 

0 

0 

0 

0 

0 

1 

1 

0 

0 

1 

0 

1 

0 

0 

1 

1 

0 

1 

1 

0 

0 

1 

0 

1 

0 

1 

0 

1 

1 

1 

0 

0 

1 

1 

1 

1 

1 

1 


There are eight lines to this table since these three variables may be 
combined in eight ways. The associated sum and carry bits are shown for 
each combination. The second, third, fifth, and eighth lines indicate 
separate conditions under which the sum S is equal to one. Therefore, 

5 = (A- B • C) + 0T- B • C) + (A • B • C) + (A • B • C') 
or S equals one when the three inputs are 

0, 0 and \ or 0, l and 0 or \,0 and 0 or 1, 1 and I 

The fourth, sixth, seventh, and eighth lines indicate alternative conditions 
under which the carry C is equal to one. Therefore, 

C = (AB-C) + (A'B-C) + (A-B-C) + (A-B- C) 

or C equals one when the three inputs are 

0, 1 and 1 or 1, 0 and 1 or 1, 1 and 0 or 1, 1 and 1 

As another example, the 9’s complements of numbers in the 5421 system 
are to be found. Table 19 is a summary of all the conditions that must be 
met. The 9’s complement of each number represented by the four bits 
in the left-hand column is given by the number represented by the four 
bits in the right-hand column and vice versa. 

To find the logical expressions summarizing the information in this table 
we determine the conditions in the left-hand columns under which a one 
appears in each of the four right-hand columns. Four logical expressions 
arc needed, one for each bit position. 











88 


ARITHMETIC AND LOGIC 


TABLE 19 

Truth Table for 5421 Complementer 



From the truth table we see that A\ is equal to one whenever A 1 is equal 
to one, and at no other time. Therefore, 

A' i = A 

A' 2 is equal to one on lines two and three. On these two lines on the 
left side we note that the bits in the first two orders are either zero and 
one or one and zero. Expressed algebraically, 

A '2 = A 2 ’ A 1 + A 2 * A\ 

A' 3 is equal to one on line one. On this line bits A l9 A 2 , A 3 , and A 4 are 
all zero. Therefore, 

A ' 3 = A 4 - A 3 - A 2 - A ± 

If A 4 is removed from this expression, we still have a unique expression 
for A' 3 . The A 4 is thus redundant, and it is enough to state 

A' 3 = A 3 • A 2 • A x 


Lastly, A\ is equal to one whenever A 4 is equal to zero or 

A\ = A 4 

The four logical equations derived above express all the conditions 
necessary to produce a 9’s complement for all numbers between 0 and 4. 
The same equations hold for the complementation of numbers between 
5 and 9, as can readily be seen by inspecting the truth table. 


Logical Block Diagrams 

Logical expressions relate symbols representing classes by means ol 
and, or and not functions. These mathematical expressions may be 
represented by means of equivalent and, or, and not blocks in a logical 



B A-B 


0 

0 


0 

1 


1 

0 

0 

1 

1 

1 


BIA + B 


0 

1 

0 

1 


MACHINE LOGIC 


o 

A n 

1 

0 


A B 

0 0 
0 1 
1 0 
1 1 


•i 


INHIBIT 


B A +B 


0 

1 

0 

1 


A 

B 

0 

0 

0 

1 

1 

0 

1 

1 


A-B 


1/ 



A + B = A-B 


A-B 


INVERTED AND 


Fig. 14. Fundamental logical blocks 


• • 
























90 


ARITHMETIC AND LOGIC 


MACHINE LOGIC 


91 


block diagram. As will be seen in Section II, several physical devices are 
available which correspond closely in their operations to these logical 
blocks. Thus, the logical block diagram is a plan from which the actual 

hardware may be designed and built. 

Figure 14 shows the relationships among several logical blocks and their 
associated truth tables and logical expressions. The first three blocks are 
primary: the most complicated logical expressions may be built from them. 
The inhibit function A • B may be represented by a not block which 


A 

B 

K 

0 

0 

0 

0 

1 

1 

1 

0 

1 

1 

1 

0 



Fig. 15. Binary comparator. 


A 

B 

s 

c 

0 

0 

0 

0 

0 

1 

1 

0 

1 

0 

1 

0 

1 

1 

0 

1 




Fig. 16. Half-adder. 


converts B to B and an and block which combines A and B. These two 
blocks are equivalent to the one block shown. The circle at the end of 
input line B represents an inhibit signal: whenever B is present, it inhibits 
the flow of signal A. 

The inverted or may be drawn in two ways. In the first diagram both 
A and B are inverted and then fed to an and block; this produces A • B. 
In the second diagram, A and B are ORed and then fed through an inverter; 

this produces A + B. Both block diagrams are equivalent and may be 
represented compactly by two inhibit signals applied to an and block as 
shown. 

The inverted and may similarly be drawn in two ways. In the first 
diagram, A and B are individually inverted and then fed through an or to 
produce A + B. In the second diagram, A and B are ANDed and then 

inverted to produce A • B. Both block diagrams are equivalent and may 
be represented compactly by two inhibit signals applied to an or block as 
shown. 


With the aid of these fundamental logical blocks we can convert any 
logical expression into a logical block diagram. The binary comparator, 
quarter-adder, or exclusive or is shown in block diagram form in Fig. 15* 
By substituting for A and B , in turn, each of the four combinations shown 
and following the signals through, it can be seen that this block diagram 
does perform everything required of it by the truth table. 





Previous carry ( C ') 

Half¬ 

adder 

Sum ( S ) 

Augend ( A ) 

Half 

Partial sum ( S ') 

Carry 

-2 

Addend ( B ) 

ndll- 

adder 

Carry 

1 









Carry ( C ) ^ 






Z 7 


Fig. 17. Binary adder composed of two half-adders. 


The block diagram of the half-adder (Fig. 16) illustrates why the 
following expression for the sum: 

5 = (A + B) • ( aTb) 

is preferable to 

5 = (A • B) + (A • B) 

In the former, the carry (C = A • B) is produced as part of the formation 

of the sum. Therefore, there is a saving in the number of logical blocks 
needed. 

Figure 17 shows how two half-adders may be combined to form a full 
binary adder. One half-adder adds the augend and addend to produce a 
partial sum and carry. The other half-adder adds the partial sum and the 
previous carry to produce the sum and a carry. The carrys from both 
half-adders are combined in an or block to produce a carry which is 
applied to the addition of bits in the following bit position. 

If we proceed in a straightforward manner to develop a 3-input adder, 
we develop the truth table shown in Fig. 18. From the resultant algebraic 
expressions, we form the block diagram shown. Although it looks entirely 
different from the block diagram in Fig. 17, the two are equivalent in 
function. 

Figure 19 shows the block diagram for the 5421 complementer. 






































a-b-c 



GIC 


B-C' 


A-B-C' 


A-B-C' 


A-B-C' 


AB-C 


A-B-C' 



A 'i = A 




A 2 * A\ + A 2 *Ai 


A ' 3 = A 3 -A 2 -Ai 


A ' 4 = a 4 


ter. 


MACHINE LOGIC 


93 


PRACTICAL LOGICAL ELEMENTS 

In a practical machine, propositions or classes are represented by signals. 
As these signals progress from one stage to the next, they lose energy. 
Amplifiers restore this energy. 

If a signal is produced now but must be applied to a certain circuit a 
little later, the signal waits in a storage device. 

Amplification 

There are in general two types of amplifiers: those that invert the 
polarity of the input signal and those that do not. The first is called an 
inverting amplifier and the second is called simply an amplifier. The 
amplifier and inverting amplifier blocks are shown in Fig. 21. Amplifiers 
perform various other jobs, especially in relation to memories. Symbols 
may be placed within the triangles to distinguish among several types of 
amplifiers (as will be shown in Section II). 

Storage 

The importance of time in computer logic may be illustrated by means of 
a diagram which also shows how the same circuit may at times be an and 
circuit and at other times an or circuit. This illustration is given in Fig. 20. 




ARITHMETIC AND LOGIC 


MACHINE LOGIC 


95 


94 


Applied to terminals A and B of the device are two waveforms, each 
varying differently with time. The device produces an output waveform 
at C which is positive only when both A and B are positive and negative 
at all other times. If the positive portions of the waves are taken to repre¬ 
sent one and the negative portions zero, then the device is an and circuit. 
If the negative portions of the waves are taken to represent one and the 
positive zero, then the device is an or circuit. 



Amplifier 



Inverting amplifier 


Delay 


D time 


A A AA A 



Storage cell 


Set 


Reset 



A-A~A -A' - 

ONE _ _ _ _ 

A-A-A-A - 


ZERO 


Rip-flop 


Fig. 21. Amplifying and storage elements. 

Time is taken care of by storage. Storage may be represented in block 
diagrams in several ways. Some of the more common blocks are the time 
delay the storage cell, and the flip-flop. Time delay implies that the 
signal’ is delayed for a definite amount of time before being applied to 
another point in the circuit, whereas a storage cell holds a bit for an 
indefinite time, until called for. Logical blocks representing delay and 

the storage cell are shown in Fig. 21. 

Also shown in Fig. 21 is the flip-flop. The flip-flop is a versatile storage 

cell. It has two input lines labeled “set” and “reset”; and two output 

lines labeled one and zero. A signal applied to the set line produces a 

continuous one output. A signal applied to the reset line removes the 

information from the one output line and causes the zero output line to 

produce a continuous signal. In the first instance, the flip-flop is set; in 

the second case it is reset. The flip-flop remains in one of these two stable 

states until a signal flips the flip-flop to the opposite state. But in either 

state, the two output lines produce signals that are out of phase with each 

other. This means that the flip-flop produces a signal and its complement 

simultaneously. 


Examples of Practical Logic 

As a rough indication of the value of these practical logical elements 
the adder (composed of two half-adders) and the binary comparator are 
redrawn in Fig. 22. Part (a) shows the use of the amplifiers and delay 
elements. As the signal passes through each block, it deteriorates. There¬ 
fore, after every few basic logical blocks, the signal is fed through an 



Fig. 22. Use of amplifying and storage elements, (a) Binary adder. ( b ) Comparator. 


amplifier as shown. If signals A, B, and C' occur at the same time, and if 
it is assumed that it takes a finite time for a signal to pass through each 
logical element—as it must—then the signal C reaches A 3 before S' does. 
Time delay D x is inserted to make sure that both signals are applied to A 3 
at the same time. Similarly, the carry C from A ± is delayed by Z) 2 to make 
sure it is applied to the next stage (0 3 ) at the same time as the output of A 3 . 

Part (b) shows the use of flip-flops in a binary comparator. A 1 produces 
a pulse only when flip-flop FFl is reset and flip-flop FF2 is set. A 2 produces 
a pulse only when FFl is set and FFl is reset. The output of 0 X is therefore 

K = (A • B) + (A- B) 

The output K remains indefinitely at either one or zero until FFl or FFl 
reverses states. 







96 


ARITHMETIC AND LOGIC 


TABLE 20 

Summary of Logical Rules 
Name Block 


(a) Fundamental Elements 


AND 

OR 

NOT 

Amplifier 

Inverting 

amplifier 

Delay 

Storage cell 

Flip-flop 



(b) Combinatorial Elements 


INHIBIT 

INVERTED AND 

INVERTED OR 



A'B 

Ah 

A+B 


Type Output or Conditions 
Under Which Output Produced 

Only if A and B signals present 

If either signal A or B or both present 

If no signal at input 

Amplified signal 

Amplified signal out of phase with input 

Delayed in time by an amount D 
Store bit for indefinite time 
Set pulse stores one 

Reset pulse stores zero 

If A is present and B is not present 
Complement of and circuit 
Complement of OR circuit 


(c) Laws 

Commutative: A + B = B+A 

A-B = B-A 

Associative: A + (B + C) = (A + B) + C 

A-(B-C) = (A-B)-C 

Distributive: A • (B + C) = (A-B) + (A-C) 

A + (B-C) = (A+B)-(A + C) 

(e) Important Relations 

(A + B) = A-B 
(A‘B)=A_+B^ 

(A-B) + (A-B) = (A + B)-(A + B ) 

(A ■ B ) + ( A ■ B) = (A + B )• (A + B ) 


(d) Identities 

A- 0 = 0 
U’A = A 
A’A = 0 
A + A = A 
0 + A = A 
U + A = U 
A+A = U 
A = A 


MACHINE LOGIC 


97 


SUMMARY 


1. There are three basic logic elements: and, or, and not. But for practical 
machine logic, five more logical elements must be included: amplifier, inverting 
amplifier, time delay, storage cell, and flip-flop. 

2. The three fundamental logical elements may be manipulated according to 
simple algebraic rules. Amplifying and storage elements are kept track of with 
the aid of logical block diagrams. 

3. To develop a device to perform a certain job, a truth table is drawn from 
which logical algebraic-expressions are derived. The algebraic expressions are 
converted to block diagrams, to which then are added amplifying and storage 
blocks. The final logical block diagram is a plan for the construction of the 
device. 


4. Some of the more important blocks, algebraic laws, identities, and relation 
ships are summarized in Table 20. 

5. Definitions to Remember 

EXCLUSIVE OR = BINARY COMPARATOR = QUARTER-ADDER 


—A device which compares two bits. If the two bits are alike, a zero output 
is produced. If the two bits are unlike, a one output is produced. 

TRUTH TABLE —A statement of all conditions of a problem in tabular form. 
HALF-ADDER —A device which produces the binary sum and carry of two 
bits. (The sum portion may be obtained by a quarter adder.) 

BINARY ADDER —A device which produces the 


binary sum and carry when 


the augend, addend, and carry from previous bit position are applied. 






section II 

BUILDING BLOCKS 


In the last chapter of Section I we developed the logical blocks which 
form the basis for all computer functions. In this section we translate each 
of the theoretical logical functions into hardware—we form practical logical 
building blocks. These logical building blocks are built of many kinds of 
components. Several components which have been used in practical 
computers and several which have been investigated only in the laboratory 
are discussed. Among the building blocks represented are those using 
electromechanical, vacuum-tube, electromagnetic and semiconductor 
principles. Emphasis in every case is placed not so much on the circuit 
principles involved—which are in the realm of electronics for the most 
part—but on how each device or circuit performs a logical function. 

The principles behind each building block are presented first. Then 
the laws of logic are applied to develop several functional building blocks 
such as adders, complementers, and registers. In the process the inter¬ 
relationships among logical expressions, logical block diagrams and 
schematics are made clear. 



CHAPTER 5 


Mechanical and 

electromechanical components 


The logical, amplification, and storage functions of machine logic find 
their counterparts in the following logical building blocks: switching 
circuits, amplifiers, and storage circuits. Switching circuits produce and, 
or, and not functions. Amplifiers invert (produce not) as well as amplify. 
Often switching and amplifying functions are performed by one device. 
Storage circuits include those which produce delay as well as those which 
store information for an indefinite time. 

The three types of logical building blocks—the switch, amplifier, and 
storage device—may take on various forms. In this chapter we look at 
some of the simplest devices, those using mechanical and relay types of 
mechanisms. 


SWITCHING CIRCUITS 

* 

The fundamental elements of logical algebra may be expressed practi¬ 
cally by means of switches (see Fig. 23). If the switches are wired in series, 
then all switches —A and B and C —must be turned on to light the lamp. 
This is an and circuit. If the switches are wired in parallel, then the 
turning on of either switch A or B or C or any combination of switches 
causes the lamp to light. This is an or circuit. If a normally closed switch 
keeps the lamp lit except when the switch is depressed, then the circuit is 
a not circuit. 

In this arrangement, depressing the switch represents the input signal, 
and a voltage or current flow lighting the lamp represents the output signal 
of the switching circuit. It would be much more satisfactory from the 
point of view of mechanization to have the input and output signals alike. 
This is easily accomplished by substituting relays for switches, as shown 

101 



•• 


ELECTROMECHANICAL COMPONENTS 


103 


in Fig. 24. Here voltage (or current) signals activate the relay coils, and 
voltage (or current) signals are produced at the output lines. The output 
of each relay switching circuit, may therefore be fed to another switching 
circuit. 

Encoders and Decoders 

Switching circuits may be combined to produce encoders and decoders. 
An encoder is a device which translates one of a group of signals into a 


012345 6789 



0 

1 

2 

3 

4 

5 

6 

7 

8 

9 

0 

1 

0 

1 

0 

1 

0 

1 

0 

1 

0 

0 

1 

1 

0 

0 

1 

1 

0 

0 

0 

0 

0 

0 

1 

1 

1 

1 

0 

0 

0 

0 

0 

0 

0 

0 

0 

0 

1 

1 


+ V 

+ V 

+ V 

+ V 




fn 




t 


fn 




1 


1 



1 2 









J J 





8 





1 


0 


1 


0 


(b) 

Fig. 25. Encoders, (a) Mechanical encoder, (b) Relay encoder. 


combination of signals. A decoder is a device which translates a combina¬ 
tion of signals into one of a group of signals. 

Figure 25 shows a mechanical encoder and a relay encoder. Both 
translate effectively from decimal (one of a group of ten signals) to 







BUILDING BLOCKS 


binary-coded decimal (a combination of four signals). The mechanical 
encoder consists often vertical bars each having four evenly spaced ledges; 
and four horizontal bars possessing ledges in a pattern determined by the 
binary code for each decimal number. The input signal consists of 



Fig. 26. Relay tree decoder. 

mechanical pressure applied in a downward direction to one of the vertical 
bars. Wherever the ledges on this bar strike the ledges on the horizontal 
bars, these horizontal bars are made to move in an arc. The horizontal 
bars are connected mechanically to a pair of electric contacts in such a 


ELECTROMECHANICAL COMPONENTS 105 

way that, if the bar is moved, the contacts close, causing current to flow 
in the associated output line. In the illustration, bar 5 is depressed. The 
ledges on this bar hit the ledges on horizontal bars 1 and 3. Therefore, 
current flows through lines 1 and 3. If we consider the flow of current a 
one and the absence of current a zero, then the output is 0101, the binary- 
coded decimal equivalent of 5. 

The relay encoder works in a similar manner. Instead of ten vertical 
bars it has ten relays. Instead of four horizontal bars it has four sets—or 
rather four possible sets—of contacts on each relay. These contacts are 
arranged analogously to the way the ledges are arranged on the horizontal 
bars. When a signal is applied to relay 5, the first and third lines are 
activated as before to produce 0101. 

In Fig. 26 is shown an example of a relay tree decoder which chooses 
one out of 16 output lines when a 4-bit combination is applied to it. The 
input signals are applied to the relay coils; a one is represented by a 
current pulse, a zero is represented by the absence of a current pulse. The 
movable contact is forced downward for each of the relays to which a 
current pulse is applied; all other movable contacts remain in their 
upward positions. For each combination of one’s and zero’s applied, a 
different closed-circuit path is established. For instance, in the illustration 
0101 is applied. As a result, the first and third (counting from the right) 
relays are activated. The + V is therefore fed through the path indicated 
by the bold lines to choose line number 5. 

Binary Comparator 

The logical expression for tfie binary comparator is 


K= A- B + A- B 


Two versions of the relay binary comparator are shown in Fig. 27. In the 
first version, one signal is applied to the two coils on the left, the other 
signal to the two coils on the right. If A equals one and B equals zero, 
the A contacts are energized and the B contacts are de-energized; current 
flows along the bold line as shown to produce an output pulse. If A equals 
zero and B equals one the contacts would be arranged so that current 
flowed through the lower branch to produce a pulse. On the other hand, 
if both A and B are energized (A • B) or both de-energized (A • B), then no 
output pulse is produced. 

The lower version of the circuit performs the same job with only two 
relays. The bold line indicates the path of current flow when A equals 
zero and B equals one. 













BUILDING BLOCKS 


A-B 



A =0 2 

J 



Fig. 27. Relay binary comparator. 

Half-Adder 

A circuit of the half-adder constructed of relays is shown in Fig. 28. 
Two relays (7?FI and RY2) are required to manufacture the carry: 

C = A* B 

and three additional relays (/?F3, RY4, and RY5) are required to manu¬ 
facture the sum: 

S = (A+ B)- (aHb) 

The A • B signal produced by RYl and RY2 is applied to RY3. Since 

RY 3 is normally closed, the output of this relay is A-B. This A • B signal 
is in series with the parallel circuit producing A + B. Therefore the output 

is equal to (A + B) • (A • B). 

The illustration shows what happens when A equals zero and B equals 
one. R FI and RY4 are de-energized; RY2 and RY5 are energized. No 
current flows through the carry line: 

C = 0 

Because of the absence of carry current, RY 3 is de-energized. As a result, 
current flows through the bold line to produce a sum: 

5 = 1 


ELECTROMECHANICAL COMPONENTS 107 



Fig. 28. Relay half-adder. 

Binary Adder 

The logical equations for a binary adder were found to be: 

S' = A - B - C + A • B • C + A • B • C + A • B - C 
C= A-B- C' + A-B-C' + A -B-C + A - B-C 

With the aid of the rules presented in Chapter 4 these equations may be 
simplified; and the simplified equations may reduce the number of 
components—in this case relays—required to build this circuit. The C' 
and C' may be factored out of the sum equations as follows: 

S = C'(A - B + A- B)+ C(A - B + A- B) 

From 

U=A-B + A- B + A- B + A- B 
we see that (A • B + A • B) is the complement of (A • B + A • B), or 

A- B + A- B= (I-B + A- B) 

Therefore 

S = C'(A - B + A - B) + C'(A • B + A- B) 

Similarly, the carry equation may be simplified by factoring as follows: 

C = A-B(C+C)+ C'(A - B A- A-B) 

Since 

C + V =u 

then 

C = A- B+ C\A-B+ A-B) 






























C = A-B-C + A-B-C + A^B-C + AjB-Cr 
= (A-B) (C + C) + C(A-B + A-B) 

= A-B + C(A-B + A-B) 

S = A-B-C + A-B-C + A-B-C + A-B-CT 
= C( A-B + A-B ) + C(A-B + A-B) 

= C(A-B + A-B) + C(AB + A-B) 


ELECTROMECHANICAL COMPONENTS 


109 


The logical block diagram and a relay schematic for a half-adder are 
shown in Fig. 29. First A • B and A • B and A • B are produced. Then 
^4 • 5 and A • i? are sent through an or circuit to produce A • B + A • B. 
This factor in turn is combined with C’ several ways to produce all the 
other necessary terms: 

C(A • B + A • B) 

C(A • B + A- B) 

C'(A - B + A- B) 

The schematic shows the positions of the relay contacts when A equals 
one, B equals one, and C equals one. Current flows through the bold 
lines to produce a sum and a carry, or 

5 = 1 
C = 1 


AMPLIFYING CIRCUITS 

In relay switching circuits, a one is represented by the presence of 
current flow, and a zero is represented by the absence of current flow. In 
practical terms, since no conductor or insulator is perfect, the one is 
represented by a certain high level of current and the zero by a certain 
minute level of current. But the amount of current flowing in a line 
decreases as the number of contacts in series is increased. It is easy to see 
that in some cases the current in a line carrying a one may decrease to the 
point where another logical building block may mistake it for a zero. 
To avoid this problem, we need amplifiers. 

In relay switching circuits, the relay itself can act as an amplifier. A 
relay can amplify because a small current applied to the relay coil can 
cause a much larger current to flow through the relay contacts. Note in 
Fig. 29 that the (A • B + A • B) signal is fed to the coil of RY3 and this 
coil in turn causes current to flow through the contacts as shown. In 
effect then the (A • B + A • B) output is fed through an amplifier before 
being applied to other switching circuits. In Fig. 28, relay RY 3 acts as an 
inverting amplifier. 

So we see that by using relays we not only produce logical outputs, but 
we also produce them in a manner which allows them to activate other 
relay circuits. Many other logical components possess both switching and 
amplifying properties, as is shown in this section. 









MO BUILDING BLOCKS 

STORAGE DEVICES AND CIRCUITS 

A device which has two stable states can store information. To be a 
useful storage device for computers, it should be easy to write information 
into the device and read information from it. The three important elements 
in storage devices are then: 

1. Storing. 

2. Writing. 

3. Reading. 

Several mechanical and electromechanical storage devices are now discussed 
with respect to these three elements. 

Punched Paper Tape 

Information is stored on punched paper tape by means of patterns of 
holes as shown in Fig. 30. Each spot where a hole may appear is in effect 



a binary storage cell. It may store a hole (one) or a no-hole (zero). 
Writing is accomplished by means of a hole-punching machine. Reading 
may be performed by means of pins, brushes, or photocells. In the pin¬ 
sensing method, as the paper moves, a group of spring-loaded pins pushes 
against the paper. Where a hole is present, the pin falls through the hole; 
as the pin falls, it causes a switch to close and produce a pulse of current 


ELECTROMECHANICAL COMPONENTS III 

(one). The pin meeting a.no-hole does not fall and does not cause a pulse 
of current (zero). 

The holes and no-holes may be read by means of brushes. Wherever a 
hole is present, the brush closes the circuit with the contact on the opposite 
side to produce a one. Where a no-hole is present, no contact is made and 
a zero is produced. 

In the photocell method a bank of six lamps shines at a row of code on 
the paper. On the opposite side of the paper is a bank of photocells. At 
a point where a hole is present light gets through and impinges on the 
associated photocell to produce current (one). At a point where a no-hole 
is present, no light passes and no current is produced by the associated 
photocell (zero). 

The smaller holes are called sprocket holes. Their function is to allow 
the sprocket of a punched paper tape reader to move the paper at a constant 
rate. 


Punched Cards 


A punched card is another storage device which stores information by 
of punched holes. The main difference between punched paper 


means 



Fig. 31. Eighty-column punched-card alphanumeric code. 


tape and punched cards is that the former is a continuous record and the 
latter is a discrete record. This difference is significant in the selection of 
data-processing systems. 

The most common punched card has 80 columns with 10 positions 
labeled 0 to 9 (Fig. 31). There are two unlabeled positions in the space 
above the 0-digit position : X (nearest the 0 position) and Y. Decimal 
digits may be written into each column by punching the appropriate spot. 























112 


BUILDING BLOCKS 


Letters may be written by punching two holes in each column; one hole 
is punched in either the 0, X, or Y row and the other hole is punched in a 
digit position. For some of the editing symbols three holes are necessary. 

One method of writing is performed by means of machines which punch 
holes into appropriate positions when keys are depressed. 

Reading may be accomplished by the brush-sensing or photocell methods. 
In the former method a roller moves the card along its breadth across a 
set of 80 brushes. At each hole a circuit closes; at each point where a 
no-hole exists the circuit stays open. How does the reader distinguish 
among pulses representing 9, 8, or 0? This is done by means of a clock 
which is activated when the card starts moving and counts 12 pulses. If 
the card is moved from its 9 position toward its Y position a pulse pro¬ 
duced by a brush during count 1 represents a 9; a pulse produced by a 
brush at count 10 represents a 0. 

Printing Devices 

Printing is a means of “writing” on paper in a form where direct 
communication to, or reading by, human beings is possible. Printers, 
therefore, play an important role in communication between machine 
and man. Several types of mechanical printing mechanisms are available. 
Four generic types are discussed briefly. 

Figure 32 shows a simple system in which all the characters are aligned 
in a vertical rack. Characters are chosen for printing by pushing the racks 
upward against springs and stopping each rack in its movement at the 
appropriate time by a stop pawl. After all the racks are in position, printing 
plungers force the keys against carbon and paper. The racks are then 
brought back to their neutral position. The paper and carbon are moved 
a little, the racks are adjusted again, and the plungers cause the next line 
to be printed. Several adding and calculating machines print in this manner. 

Figure 33 illustrates the type-wheel printer. In this type of printing 
mechanism, several wheels, one for each print position on a line, are 
mounted on a steadily rotating axle. Each type-wheel has embossed 
around its periphery all the characters which may be printed. At any one 
time during the rotation of the type-wheels, the same character appears in 
printing position at each wheel. Printing is accomplished by striking a 
hammer onto carbon and paper at each printing position along the line at 
the appropriate time. This means that all the a’s in a line are printed 
first, then all the b’s, all the c’s, etc. One revolution of the type-wheels is 
needed to print one line of information. As soon as a line is printed, the 
paper and carbon are moved and the characters of the next line are 
printed during the next revolution of the type-wheels. 



Fig. 33. Type-wheel printing mechanism. 













































114 BUILDING BLOCKS 

The spinning-disk type of printing mechanism is shown in Fig. 34. In 
this case, all the characters are embossed around the periphery of one 
horizontal disk. The paper is fed vertically and follows the curvature of 
the disk. Arranged in an arc on the opposite side of the paper are the 
solenoids, one for each printing position along a line. As the disk rotates, 
different characters appear at different points along the line. As the 
appropriate character appears in a desired printing position, the associated 
print hammer is activated by a solenoid. One revolution of the disk is 



Fig. 34. Spinning-disk printing mechanism. 

needed to print a line. If a series of a’s is desired across the line, the 
solenoids are activated in sequence. If all the characters are desired in 
sequence across the line, all the hammers are activated at once. 

Another type of printing mechanism uses a matrix composed of pins. 
Different characters are printed by producing impressions on paper with 
different configurations of pins. Figure 35 shows character impressions 
produced when a matrix of 35 pins, 5 columns of 7 pins each is used. 

Relay Register 

A register is a circuit for storing several bits of information temporarily. 
One of its many functions in the computer is the storage of addend, augend, 
and other terms in arithmetic operations. 

An ordinary relay is a switching and amplifying device. But it cannot 
be used as a storage device because the removal of current from the coil 
causes the associated contacts to open. A relay with holding contacts, 


ELECTROMECHANICAL COMPONENTS 115 


<p 

9 

9 

9 

9 


9 

9 

9 

9 

cP 

9 

9 

9 

9 

<p 

9 

9 

9 

9 

6 > 

9 

9 

9 

9 

9 

9 

9 

9 

9 

9 

9 

9 

9 

9 






■ 1 

IM 

PPPPPPPl 

IMP 

PI 

IP 


PI 

ippI 


P' 

i»f 

PPP 4 

ppp' 

■PPPfl 


IP 


PI 

IPI 

IP 


PI 

pi 

PPP 

IM 

ppii 

ppii 

ip 

ip 

pi 

pi 

PPPPP 

IPMP 

PI 

PI 

PP 

IP 


PI 

PPI 

IPI 

IP 

IP 


■i 

■PP 

■PP 

pp« 

ppii 

ip 

pp 

pi 

pi 

IPMP 

ftflM 

PI 

PI 

BP PPPI 
PPM 

PI 

PI 

IPI 

IPI 

IP 


Fig. 35. Matrix-type printing. 



Fig. 36. Relay with holding contacts. 
































BUILDING BLOCKS 



O *" 


ay register. 



however, may be used to store information. An example of a relay with 
holding contacts is shown in Fig. 36. Contacts A are the normal contacts. 
Contacts B are the holding contacts. Once the coil is energized, current is 
applied to the coil through the B contacts to keep the coil energized even 
if the initial pulse is removed from the coil. A switch in series with the B 
contacts may be used to deenergize the relay coil. A pulse of current 
applied to the coil closes contacts A to store a one. If no pulse of current 
is applied to the coil contacts A remain open to store a zero. 

Figures 37 and 38 show a relay register consisting of 20 relays and 
capable of storing a number consisting of 5 binary-coded decimal digits. 
Only contacts A are drawn for each relay; contacts B are assumed, 
l igurc 37 shows how information is transferred to the register, and Fig. 38 
shows how information is transferred from the register. Transferring 











118 BUILDING BLOCKS 

information into the register is performed by read-in gates. Transferring 
information from the register is performed by read-out gates. 

In Fig. 37, relay 7? IT performs the read-in function. When R5T is 
unoperated, all the storage relays are storing zero’s. When a signal is 
applied to RY\, the contacts of its 20 poles close. Each of these poles 
together with the pole of the relay in the same line constitutes an and 
circuit. Whenever both sets of contacts are closed, current flows to the 
associated storage relay to cause it to store a one. Whenever the infor¬ 
mation relay is open, no current flows to the associated storage relay; 
the storage relay therefore stores a zero. The illustration shows 63174 read 
into the relay register. 

When information stored in the register is required in another location, 
a read-out pulse is applied to RY2 (Fig. 38). This relay closes 20 circuits 
as shown. Relays in series with storage relays storing one’s are activated, 
others are not. In this way 63174 may be fed to another part of the 
computer. 


SUMMARY 

1. A component which acts like a switch may be used to form a switching 
circuit. A device which increases the energy in a signal may be used for amplifi¬ 
cation. A device which has two easily entered and easily distinguished stable 
states may be used for storage (see Fig. 39). 

2. The relay makes a good switching component. An and circuit can be 
built by connecting the relay contacts in series; an or circuit by connecting the 
relay contacts in parallel. A not may be achieved by using a normally closed 
relay (see Fig. 39). 

3. A relay may be used for amplification since the current flowing through the 
relay contacts may be greater than the current flowing through the coil. 

4. A relay with holding contacts may be used as a storage cell. By using 
several such relays, a register for storing numbers may be built (see Fig. 39). 

5. A few prominent mechanical storage devices are the punched paper tape, 
punched card, and several types of printers. The first two store coded informa¬ 
tion, the last store actual words. 

6. Definitions to Remember 

SWITCHING CIRCUIT— A circuit which produces an output for certain 
combinations of input. 

ENCODER —A network (or mechanical device) of circuits in which only one 
input is excited at a time, and each input produces a combination of outputs. 

DECODER— A network of circuits which converts a combination of signals 

into an output on one of several output lines. 

REGISTER— A device or circuit which stores temporarily numbers consisting 

of several digits or bits. 

WRITE —To place bits into a storage device or circuit. 


ELECTROMECHANICAL COMPONENTS 119 

READ —To remove bits from a storage device or circuit. 

READ-IN GATE —A switching circuit which allows information to be trans¬ 
ferred into a register. 

READ-OUT GATE —A switching circuit which allows information to be 
transferred from a register. 




NOT 





Fig. 39. Relay building blocks. 


Storage 

cell 







VACUUM-TUBE COMPONENTS 


121 


CHAPTER 6 

Vacuum-tube and related 
components 

Switching, amplification, and storage may be achieved with electronic 
components such as resistors, capacitors, inductors, vacuum tubes, gas 
tubes, and cathode-ray tubes. Resistors and diodes make good switching 
components. Capacitors, inductors, gas tubes, and cathode-ray tubes 
make good storage components. The vacuum-tube triode and tetrode 
may be used in switching, amplifying, and storage circuits. By themselves 
the triode and tetrode are amplifying devices. With judicious use of their 
characteristics, they may be made to act as switches. By introducing 
feedback between two vacuum-tube amplifiers the flip-flop is formed. 


ELECTRONIC LOGICAL ELEMENTS 

Resistors, Capacitors, and Inductors 

A resistor is a very simple electronic element. When current flows 
through a resistor, a voltage drop is produced across it. When a potential 
is applied across two or more resistors in series—a voltage divider—the 
voltage across each resistor is proportional to the value of the resistor. 
These facts may be used to build a switching circuit of resistors. 

In the broader sense, a switch is a device which allows a signal to come 
through under one set of circumstances and does not allow the signal to 
come through under another set of circumstances. The relay switch is a 
device which under one set of circumstances produces a high current flow, 
and under another set of circumstances produces a low current Jhw. A 
device which under one set of circumstances produces a high voltage and 
under another set of circumstances a low voltage may also be called a 
switch. Such a device may be built of resistors. 

120 


Figure 40 illustrates the voltage-switching effect of resistor voltage 
dividers. With +6 v applied to each resistor, there is no potential drop 
across either resistor, and +6 v appears at the output. With 0 v applied 
to each resistor, there is no potential difference across the divider and 
therefore 0 v appears at the output. With 0 v applied to one resistor and 
+ 6 v to the other, a potential difference of +3 v is produced at the output. 
If +6 v represents a high voltage, and a voltage of +3 v or less a low 
voltage, then the switch is shown in the “closed” position in (a) and in the 
“open” position in ( b ) and (c). 


+6 v 

o— 


R 


+ 6 v 


R 

(a) 


R 


Ov 


R 


-ww— 

o —vwv— 



—o +6 v 

—o +3 v 

■A/WV— 

0 -Wv\— 

o-AAAA/— 


Ov 


Ov 


R R 

(b) (c) 

Fig. 40. The resistor as a switching component. 


Ov 




Fig. 41. The capacitor as a storage component. 


The capacitor stores electric charge. When a voltage is applied across 
a capacitor, the capacitor charges positively or negatively depending on 
the polarity of the applied voltage (Fig. 41). When a short circuit is placed 
across a charged capacitor, the capacitor discharges. Both the charge and 
discharge of the capacitor take a definite amount of time. Therefore, the 
capacitor may be used to produce time delay. If discharge can be pre¬ 
vented, the capacitor may be used as a storage cell. 

The charging time of a capacitor may be controlled by a series resistor. 
With a large resistance in series, the charging time is long; with a small 
resistance in series, the charging time is short. A resistor-capacitor 
combination with a short charging time may be used as a differentiator. 
















122 


BUILDING BLOCKS 


VACUUM-TUBE COMPONENTS 


123 


A differentiator is a circuit which converts a square wave into two narrow 
pulses, one of opposite polarity from the other. 

Briefly, the differentiator (Fig. 42) works as follows. When the voltage 
across the resistor-capacitor combination rises to + £, this voltage appears 
across R because the voltage across a capacitor cannot change suddenly. 
The charge on the capacitor builds up exponentially. As the charge builds 
up, so does the voltage across the capacitor. As the voltage across the 
capacitor rises, the voltage across the resistor must fall to maintain the 
voltage across the combination at +E. When the capacitor is fully 




Fig. 42. The differentiator. 

charged, no current flows through the resistor and thus the voltage across 
it is zero. At the terminating edge of the applied square wave, the resistor- 
capacitor combination acts the same way but in an opposite sense to 
produce a negative pulse. The shorter the charging time, the narrower the 
pulses produced by the differentiator. 

Just as the capacitor stores electric energy, the inductor stores magnetic 
energy. When current / is fed to a coil in one direction, a clockwise 
magnetic field is formed. When current i is fed to the coil in the opposite 
direction, a counterclockwise magnetic field is produced (Fig. 43). As with 
the capacitor, it takes a definite amount of time to charge and discharge 
an inductor; so an inductor may therefore be used to obtain delay. By 
placing a piece of soft iron inside the magnetic field, the iron may be 
made to store magnetic energy. This phenomenon is discussed in greater 
detail in the following chapter. 


i 




Fig. 43. The inductor as a storage component. 






'TW' 






(b) 

Fig. 44. Electric delay lines, (a) Lumped inductance and capacity. ( b) Distributed 
inductance and capacity. 

Capacitors and inductors may be connected together as shown in Fig. 
44 a to produce an artificial transmission line. Because it takes a definite 
amount of time for a pulse to travel to the end of this artificial trans¬ 
mission line, this circuit may be used as a delay element. 

In the above circuit the inductance and capacity of a transmission line 
are lumped into individual inductors and capacitors. An artificial trans¬ 
mission line may also be derived by a cable consisting of an inner 
helical conductor insulated from a surrounding conductor. The inner 
conductor provides an inductance distributed throughout its length; and 
the inner and outer conductors acting together provide a capacity distri¬ 
buted throughout their length. The symbol for this type of artificial trans¬ 
mission line is given in Fig. 44 b. 

Vacuum Tubes and Gas Tubes 

The diode consists of a filament, cathode, and plate in an evacuated 
bulb. When current is fed to the filament, it heats the cathode and 








124 


BUILDING BLOCKS 


VACUUM-TUBE COMPONENTS 


125 






Fig. 45. Switching characteristics of diodes, triodes, and tetrodes. ( a ) Switch. ( b ) 
Diode, (c) Triode. (d) Tetrode. 


causes electrons to evaporate from it. If the plate potential is positive 
relative to the cathode, the electrons from the cathode flow toward the 
plate. If the plate is negative relative to the cathode, the electrons do not 
flow toward the plate. The diode thus acts like a switch controlled by the 
potential applied to the plate. A positive plate potential closes the switch; 
a negative plate potential opens the switch (compare Figs. 45 a and 45 b). 

By placing a grid between cathode and plate, a triode is formed. The 
triode can amplify because a small variation in potential at the grid may 
cause a larger variation in potential across the plate load R L . The triode 
may be considered to be a switch too, because a highly positive potential 
on the grid causes lots of electrons to flow between cathode and plate, 
whereas a highly negative potential on the grid causes the tube to open, 
to be cut off (Fig. 45c). 


A tetrode has two grids which may control the flow of electrons. Both 
the control grid and screen grid must be relatively positive to cause high 
conduction through the tube; if either grid is sufficiently negative, the 
tube is cut off (Fig. 45 d). Similar considerations apply to vacuum tubes 
with more than two grids. 

The vacuum tube by itself cannot be used as a storage cell because, 
once the signal is removed from the grid, the tube returns to its quiescent 
state. However, if a tube such as a triode is filled with gas, then, as soon 
as a positive trigger is applied to the grid, the tube conducts and remains 
conducting even after the trigger is removed because of the ionization of 
the gas. It stays conducting until the plate potential is brought down to 
below the ionization potential. 

Cathode-Ray Tube 

The ordinary cathode-ray tube stores information on its screen. The 
cathode-ray tube consists of an electron gun, vertical and horizontal 
deflection plates, an accelerating anode, and a phosphor screen. The 
electron gun shoots out electrons in a narrow beam. These electrons are 
accelerated toward the screen by the highly positive accelerating anode. 
Before reaching the screen, a potential between the vertical plates deflects 
the beam either up or down; and a potential between the horizontal 
plates deflects the beam either to the right or to the left. The deflection 
plates are thus capable of directing the narrow beam toward a designated 
tiny area on the screen. 

The cathode-ray tube may be modified in a number of ways for binary 
storage. One method is as follows (see Fig. 46). The screen is replaced 
by an insulator mounted on a conducting back plate. On the opposite 
side of the insulator is a collector grid. The conductor, insulator, and grid 
form a capacitive arrangement. A source of voltage and a load resistor 
are connected between the conducting plate and the collector grid. The 
insulator is divided into 1024 squares, each of which is effectively a small 
storage cell. The voltage applied to the vertical deflection plates determines 
to which of 32 positions along the vertical the beam is deflected; the 
voltage applied to the horizontal deflection plates determines to which of 
32 positions along the horizontal the beam is deflected. In this manner 
one of 1024 spots is chosen. 

The potential applied on the collector grid determines whether a 
negative (zero) or positive (one) charge is stored on the chosen spot on 
the insulator. If the collector grid is negative, the electrons from the gun 
strike the insulator and charge it negatively. The insulator remains 
charged negatively because any secondary electrons escaping from it are 
repelled back to it by the negative charge on the collector grid. If the 



Electron gun 



Secondary 
electrons 


Negative 

collector 


repels 


VACUUM-TUBE COMPONENTS 


127 


collector grid is positive, it attracts the secondary electrons, thus leaving 
the insulator positively charged. Therefore, application of a negative 
potential to the collector grid at the same time that a spot is irradiated 
causes the storage of a zero in that spot. Application of a positive potential 
to the control grid causes the storage of a one. 

Reading is accomplished by removing the potential from the collector 
grid and using R L to discharge the spot on the insulator. The spot to be 
read is chosen as before. If the area was storing a zero, it discharges and 
produces a positive pulse. If the area was storing a one, it discharges in 
the opposite direction to produce a negative pulse. 

Cathode-ray tubes have been modified to project letters and numerals 
onto the screen. Each of the characters is stenciled out at a certain 
location on a thin sheet of metal. A pair of deflection plates directs the 
electron beam toward one of the characters. The beam shaped by the 
stenciled character may then be placed anywhere on the screen by means of 
another pair of deflection plates. In some systems a camera photographs 
the words beamed onto the screen. 

Marginal Checking 

Reliability is one of the most important considerations when choosing 
components for machine logic, and it may be greatly increased by preven¬ 
tive maintenance. One way of performing preventive maintenance on 


A A A A 



Fig. 47. Marginal checking. 


systems composed of vacuum tubes is by marginal checking—checking 
of components at a tolerance extreme. For instance, a vacuum tube may 
be operational with its filament drawing current over a certain range. If 
the tube is in good condition, a decrease in filament current within this 
range does not affect the operation of the tube. But if the tube is on the 
verge of breakdown, bringing the filament current to its operating margin 
may cause the tube to become nonoperational. A simple potentiometer 
controlling the flow of current through several filaments may therefore 
be used for marginal checking (Fig. 47). All tubes which become 
nonoperational when filament current is reduced toward the margin of 











128 


BUILDING BLOCKS 


tolerance are replaced before the equipment is placed into operation. 
Thus, possible causes of future trouble are removed before they can make 
the equipment inoperative. 

SWITCHING CIRCUITS 

Resistors 

A simple resistor switching circuit is shown in Fig. 48. This 3-resistor 
combination may be considered to be an and circuit for positive or 
negative signals, or an or circuit for positive or negative signals, depending 
upon what the signals represent. If +6 v represents a class equal to one, 
and a signal between 0 and +4 v represents a class equal to zero, the 
circuit performs the and function for positive signals. The circuit performs 
the or function for negative signals if a voltage between 0 and +4 v defines 
a class equal to one and +6 v a class equal to zero. If 0 v defines a class 





R 


and circuit for plus signals 
+ 6 v = ONE 
OV to +4 V = ZERO 


OR circuit for minus signals 

Ov to +4v = one 
+ 6v = ZERO 




and circuit for minus signals 
Ov = ONE 
+2 v to +6v = ZERO 


OR circuit for plus signals 
+2 v to +6v- ONE 
Ov ■ ZERO 

Fig. 48. Resistor switching circuits. 


VACUUM-TUBE COMPONENTS 


129 


equal to one and a signal between +2 and +6 v a class equal to zero, the 
circuit performs the and function for negative signals. It performs the or 
function for positive signals if a signal between +2 and +6 v defines a 
class equal to one and Ova class equal to zero. All these facts follow 
from the voltage-divider action of the resistors, as shown in the illustration. 


b+ fi+ 



(b) and circuit for or circuit for 

negative signals positive signals 


Fig. 49. Diode switching circuits. {Note: Hatching indicates conducting tubes.) 


Diodes 

A simple diode switching circuit which may be an and or an or is 
shown in Fig. 49a. The plates of the three diodes are connected through 
a load resistor to a positive supply voltage, and the cathodes are connected 
to either positive or negative potentials. If one of the cathodes is negative, 
electrons flow through the diode and the load resistor; the voltage drop 
across the load resistor makes the output voltage negative. If all cathodes 


130 BUILDING BLOCKS 

are positive, none of the diodes conduct and no electrons flow through the 
load resistor; the output voltage is positive. If a positive potential is 
considered to be one and a negative potential zero, this is an and circuit. 
If a negative potential is considered to be one and a positive potential 
zero, this same circuit is an or circuit. 

Figure 49 b shows an or circuit for positive signals or an and circuit for 
negative signals. When any input is positive, the associated diode conducts 
and the resultant voltage across the load resistor is positive. If all plates 
are negative, none of the diodes conduct and the output is negative. 

In almost all cases and circuits for positive signals are equivalent to 
or circuits for negative signals, and or circuits for positive signals are 
equivalent to and circuits for negative signals. For simplicity, all switching 
circuits are discussed under the assumption that positive signals are applied, 
unless otherwise stated. 

Triodes and Tetrodes 

The circuit shown in Fig. 50a is an inverted and. The two grids are 
normally biased to cutoff. Only when the potentials applied to both grids 
are positive do electrons flow to produce a negative output voltage. This 

circuit produces the inverse of an and circuit or A • B. The illustration 
shows circuit operation when A = 1 and B = 1. Under these circum¬ 
stances, both grids are positive, the tube conducts, the electron flow 
produces a negative output. Therefore, the output is 

A 7 ! = 1 

A triode connected as a voltage amplifier produces a not. Two triodes 
sharing a common load resistor produce an inverted or (Fig. 50/?). Both 
tubes are biased to cutoff. If a positive signal is applied to either grid, 
electrons flow through the load resistor and a negative output voltage is 

produced. This means that this circuit produces A + B. The illustration 
shows that with A equal to one and B equal to zero, tube 72 conducts and 
73 is cut off. Electrons from 72 flowing through R L produce a negative 
output potential. Therefore, the output is 

A + B = 1 

A common load resistor may be used to combine the outputs of several 
and circuits by means of the or function. The 3-tube circuit shown in 

Fig. 50c, for instance, produces A • B + C • D + E. The combination 
of signals A and B produces electron flow through 74 and through the 
load resistor. The combination of signals C and D produces electron 
flow through 75 and through the load resistor. Similarly, a signal E 


VACUUM-TUBE COMPONENTS 131 



(a) 



(b) 



A = 1 


C 

D 



III E= lo 



A-B + C-D + E= 1 


Electrons 


R 


t I D 
B+ E 



PLQZ 

A-B + C-D + 


E 


(c) 



(d) 


Fig. 50. Vacuum-tube switching circuits, (a) inverted and. ( b ) inverted or. (c) 
and inverted or combination. ( d ) or circuit—cathode follower. 

applied to 76 causes electron flow through 76 and the load resistor. Any 
one of these three combinations, therefore, produces a negative output. 
In the illustration >4 = 1, D = 1, and E = 1; 76 conducts, and the 
electrons flowing through R L produce a negative output. Therefore, the 
output is 

A - B + C- D + E = 1 

Cathode followers with a common cathode resistor produce the or 
function without inversion. If either grid is positive, a positive potential 


132 BUILDING BLOCKS 

appears at the output. In the circuit of Fig. 5Ck/, A = 1, and 77 conducts. 
As a result, electrons flowing through R c produce a positive potential. 
The output voltage is 

A + B = 1 


Binary Adder 

In the last chapter the expressions for the sum and carry of a binary 
adder were simplified to 

5 = C'(A • B + A - B) + C(A • B + A • B) 

C = A B + C'(A • B + A • B) 

The expression for the sum may be modified. If we make the following 
substitutions, 

X = A • B + A • B 
X = A • B + A • B 
we may write the S equation as 

5 = C • X + C • X 

Since the universal class U is equal to 

u = c • X + C 7 - X + c • X + C • X 

then 

C • X + C • X = C - X + C -X 
Substituting back the value for X and X, the sum equation becomes 

5= C' • (j - B + A • B) + C' • (A - B + A • B) 

The vacuum-tube binary-adder circuit which produces this expression 
for S and the former expression for C is shown in Fig. 51. The output of 

74 and T5 is A * B + A • B. This signal is applied to the screen of T1 and 
to one resistor of the resistive or circuit. C' is applied to the other resistor 
of the switch. The output of the resistor switch is inverted by T6 to 
produce 

C + (A- B + A- B) = C • (A • B + A • B) 

The output of 73, C\ is also fed to the grid of T1 . Across the common 
load resistor for T1 and T 8 is produced the sum 5. 

The output of T6 is applied to T9 while A and B are applied to 710. 
The output from across the common load resistor for T9 and 710, after an 
inversion, is 

C = A • B + C- (/• B + A • B) 


VACUUM-TUBE COMPONENTS 133 


B+ B + 



Fig. 51. Vacuum-tube binary adder. 

The schematic illustrates the operation of the circuit when A = .1, 
B = 1, and C = 0. 71 and T2 conduct, and T4 and T5 do not. The 
resultant positive output of 74-73 is applied to the screen of 77. Since 
C = 0, 73 is cut off, and a positive potential is applied to the grid of 77 
too. Tube 77 conducting produces a negative output pulse for S, or 

5 = 0 

The positive C and the positive signal from 74-75 cause 76 to conduct. 
The resultant negative potential keeps 78 and 79 cut off. But since both 









BUILDING BLOCKS 


1 



VACUUM-TUBE COMPONENTS 


135 


A and B are positive, 710 conducts to produce a negative pulse which 
keeps 711 cut off. 711, therefore, produces a positive output for C, or 

C= 1 


5421 Complementer 

The equations previously derived for the 9’s complementer in the 5421 
coded-decimal system are: 




= A 2 ' A ± + A 2 


= A 


3 * A 2 * A 




A vacuum-tube circuit which performs these functions is shown in Fig. 52. 
A 1 and A 2 are fed to 73; and A x and A 2 are fed to 74. The output of 
73-74 is 

A 2 • A 1 + A 2 • A 1 = A 2 • A x + A 2 * A ± = A' 2 
The output of inverted or 75-76-77 is 

A 3 "F A 2 + Ai = A 3 • A 2 ' Ai = A 3 

A\ is obtained by feeding A 4 through a simple not, T 8. 

The illustration shows circuit operation when 0011 or decimal 3 is 
fed to it. The grids of 71, T2, T5, and T6 are made positive; and those of 
T1 and T8 negative. The first output line A\ is obviously positive. The 
4' 2 -output line is negative since both grids of 73 are positive, causing the 
tube to conduct. The /T 3 -output is negative because of the current 
flowing through 73 and T6. A\ is positive because of the negative potential 
on the grid of 73. The output thus represents 1001 or decimal 6, which is 
the 9’s complement of 3. 


AMPLIFYING CIRCUITS 

If information is conveyed by means of voltage levels, simple voltage 
amplification is needed to maintain the separation between the two d-c 
levels. If a one is conveyed by a pulse and a zero by no-pulse, then feed¬ 
back amplifiers are needed to re-form the pulse with regards to time as 
well as to amplitude. 







136 BUILDING BLOCKS 

D-C Level System 

Because the voltage at the output of a resistor switching circuit varies 
so much, the switch is usually connected directly to an amplifier (as in 
T6, Fig. 51). By making the amplifier operate between cutoff and satura¬ 
tion, two distinct voltage levels are produced. At saturation the tube is a 
short circuit, and the potential on the plate is approximately ground. At 
cutoff the potential at the plate is approximately at B+. 

If diodes are used for switching, after several stages of diode circuits an 
amplifier must be introduced to increase the distance between the two 
signal levels. The level separation at the output of the amplifier is fairly 
high. But as the signal passes through several other diode-circuit stages, 
the d-c level separation becomes small again and another amplifier must 
be introduced. 

For switching circuits which are also amplifiers, not as much voltage 
amplification is needed. In this case it is best to have the voltage-level 
separation at the output practically the same as the voltage-level separation 
at the input. Operating the tube between cutolf and saturation is one way 
of accomplishing this end. 

Pulse-No-Pulse System 

A pulse traveling through any kind of network eventually loses its 
shape and may be delayed, as shown in the first waveform of Fig. 53c. 
To restore the shape and also to retime it—bring it in step with a master 
clock—a pulse reshaper is used. 

A simple pulse reshaper using feedback is shown in Figs. 53 a and 536. 
A signal input has no effect until a clock pulse is fed to the and circuit. 
Once the clock pulse arrives, the tube conducts, and the feedback voltage 
from the output transformer back to the input keeps the tube conducting 
until the end of the clock pulse. Without the clock pulse the feedback 
voltage cannot pass through the and circuit to the grid. The output of the 
pulse reshaper, therefore, is a pulse of proper amplitude accurately timed 
with the clock pulse. 

Naturally, if a no-pulse arrives at the input, the tube remains cut off 
and no pulse is produced at the output. 


STORAGE CIRCUITS 

Diode-Capacitor Storage Cell 

The capacitor can store a positive or a negative charge, but by itself 
it cannot be a storage cell. It needs to be combined with two diodes which 


VACUUM-TUBE COMPONENTS 


137 


Signal 



Output 


(a) 



1 




1 




Outputs n 


run 




Fig. 53. Pulse reshaper. ( a ) Block diagram. ( b ) Schematic, (c) Waveforms. 


prevent the capacitor from discharging when holding information, and 
which allow writing and reading when voltages are applied to them 
(Fig. 54). A diode-capacitor storage cell is useful in an information scheme 
where a positive pulse represents one and a negative pulse represents 

ZERO. 

Writing a zero is accomplished by applying a negative pulse across R L 
and no voltages to the diodes. As a result, electrons flow through Tl to 
charge the capacitor as shown. Writing a one is accomplished by applying 
a positive pulse across Rj and no voltages to the diodes. As a result, 
electrons flow through T2 to charge the capacitor in the opposite direction, 
as shown. After writing, a positive potential is applied to the cathode of 





























Fig. 54. Capacitor-diode storage cell. 


VACUUM-TUBE COMPONENTS 


139 


71 and a negative potential to the plate of T2 to prevent the charge on the 
capacitor from leaking off. 

Reading is accomplished by removing the potentials from the diodes 
and allowing the capacitor to discharge. If the cell was storing a zero, 
the electrons discharge through T2 and produce a negative pulse across 
R l . If the cell was storing a one, the electrons discharge through 71 to 
produce a positive pulse across R L . 

Flip-Flop 

The flip-flop is a storage cell with two inputs and two outputs. A pulse 
applied to the set input flips the circuit to the one state; a pulse applied 
to the reset input flops the circuit to the zero state. 



Fig. 55. Triode Flip-flop. 

A simple triode flip-flop is shown in Fig. 55. At equilibrium one tube 
is conducting and the other is cut off. If 71 is nonconducting and T2 is 
conducting, a positive pulse applied to the grid of 71 causes it to conduct. 
The resultant plate current makes the plate negative. This negative 
potential when applied to the grid of T2 causes T2 to conduct less. As a 
result the voltage across R L2 decreases causing the plate of T2 to become 
more positive. This positive poterTtial when fed back to the grid of 71 
causes 71 to conduct more. This process is cumulative until 71 reaches 
saturation and T2 is cut off. 






140 


BUILDING BLOCKS 


If now a positive pulse is applied to the grid of 72, T2 conducts and, as 
a result, the voltage at the plate becomes more negative; this negative 
potential fed to the grid of 71 causes 71 to conduct less. This process is 
cumulative until 71 is cut off and T2 reaches saturation. 

A positive pulse applied to the grid of 71 is a set pulse. It places the 
flip-flop in the one state: 71 conducting and T2 cut off, the one output 
line positive and the zero output line negative. Figure 55 shows the 
flip-flop in the set or one state. A positive pulse applied to the grid of T2 
is a reset pulse. It places the flip-flop in the zero state: T2 conducting 
and 71 cut off, the zero output line positive and the one output line 
negative. 

Negative pulses produce opposite effects from positive pulses. A 
negative pulse applied to the grid of 71 resets the flip-flop. A negative 
pulse applied to the grid of T2 sets the flip-flop. 

The flip-flop may be placed manually in the zero state by opening 
the switch in the cathode of Tl . Since Tl cannot conduct, T2 does conduct 
and the zero output line becomes positive. We say that the switch clears 
the flip-flop to zero. Similarly, opening the switch in the cathode of T2 
clears the flip-flop to one. 

Shift Register 

A shift register is a register consisting of storage cells, in which bits 
may be shifted from one cell to the next by means of shift pulses. Flip- 
flops and modified delay elements may be used as storage cells. 

Several flip-flops may be combined by means of and circuits and delay 
elements to produce a shift register such as that shown in Fig. 56. Infor¬ 
mation is applied to this register one bit at a time through the input gate 
A v Each bit is first applied to FFl . Each succeeding shift pulse advances 
this bit to the following flip-flop, at the same time bringing a new bit to 
FFl . The and circuits between each pair of flip-flops allow a positive pulse 
from the one output line to set the following flip-flop, and a positive pulse 
from the zero output line to reset the following flip-flop. The delay 
element makes sure that a flip-flop does not flip before the flip-flop has 
had a chance to transfer its information to the following stage. 

The illustration shows a 3-stage shift register storing 101. When a shift 
pulse is applied, the positive potential from the T2 plate is fed to the grid 
of 73 to turn on 73. As a result 772 stores a one. At the same time, the 
negative potential from the plate of 74 is being applied to the grid of 75 
to cut off 75. As a result 773 stores a zero. The one of 773 is lost. 

If the output of 773 is applied through an and circuit to the input of 
771, the shift pulse causes the one from 773 to be shifted into 771. Upon 
completion of the operation, the register stores 110. 




VACUUM-TUBE COMPONENTS 


141 




Fig. 56. Shift register composed of flip-flops. 



























VACUUM-TUBE COMPONENTS 


143 


In the foregoing circuit all the information is shifted to the right. It is 
just as easy to connect outputs from right-hand flip-flops to inputs of 
left-hand flip-flops. In this case a shift pulse would cause the information 
to be shifted to the left. 

A shift register may be built of storage cells composed of delay elements 
and feedback. One such storage cell is shown in Fig. 57 a. It is composed 
of an and circuit, amplifier, and delay element. Each time the signal 
reaches the end of the delay element, it is fed back to the gate. A clock 
pulse allows the pulse through the gate to recirculate once more. As long 
as clock pulses are applied, the signal goes round and round the loop— 
it is stored. 

A shift register built of these storage cells and capable of shifting 
information in and out, and to shift bits to the right or to the left is shown 
in Fig. 51b. Clock pulses (CP) are applied at a constant rate to A l9 A 2 , 
and A 3 . To keep information stored in the register the hold signal is 
energized. As a result and circuit A x allows the CP to be applied to all the 
A n switches, and the signal in each storage cell goes round and round in 
its loop in synchronism with the applied CP. 

To shift information to the right, the right-shift signal is energized. 
As a result and circuit A 2 allows the clock pulses to be applied to all the 
A rs switches. Instead of recirculating, the information leaving each delay 
line is applied to the storage cell to its right. Similarly if the left-shift line 
is energized, A 3 allows clock pulses to be applied to all the A LS switches. 
As a result, the information reaching the end of each delay element is fed 
to the storage cell to its left. Upon completion of the shift, right or left, 
the hold signal must be reapplied to keep the information in the register. 

Note that no CP are needed with the flip-flop register. A shift pulse 
may be applied at any time to shift the information. In the delay type of 
register CP are applied constantly. 

Counters 

With a slight modification the flip-flop may be converted to a comple¬ 
menting flip-flop, a circuit which always reverses states upon application 
of an input pulse. The complementing flip-flop plus a differentiator form 
a building block for a binary counter. 

The binary counter building block is shown in Fig. 58. Except for 
diodes D 1 and D2 and differentiator R x -C v the circuit is an ordinary 
flip-flop. Input pulses are applied to the two diodes simultaneously. If 
T\ is conducting and T2 is cut off—the flip-flop is storing one —the 
positive input pulse has no effect on the grid of T\ which is already positive. 
But the positive potential does increase the potential at the grid of T2 % 
causing T2 to start conducting. The resultant lowered potential on the 














144 


BUILDING BLOCKS 


VACUUM-TUBE COMPONENTS 


145 


plate of T2 makes the grid of 71 more negative, causing 71 to conduct less. 
The effect is cumulative: eventually T2 reaches saturation and 71 is 
cut off—the flip-flop is in the zero state. 

The next positive pulse applied does not affect the grid of T2 but does 
raise the potential at the grid of 71. As a result 71 conducts, causing T2 
to cut off—the flip-flop is brought back to the one state. 

If each time the flip-flop is flipped to zero a positive pulse is fed to 
another complementing flip-flop, this second flip-flop also flips back and 


ZERO ONE 



D2 


Fig. 58. Binary counter building block. {Note: Hatching indicates tube conducting 
before application of input pulse.) 

forth but half as frequently. If each time the second flip-flop is flipped to 
zero a positive pulse is applied to still another complementing flip-flop, 
this third flip-flop also flips back and forth but one-quarter as frequently. 
The result of placing in tandem such a group of complementing flip-flops 
is a binary counter (see Fig. 59). 

The positive square-wave output of 71 produced when the flip-flop is 
flipped to zero is not a good trigger. It is not definite in its action to flip 
a following flip-flop because the positive potential is applied to both grids. 


o 



Input 

pulses 



0 

0 

0 

0 

1 

1 

1 

1 

0 

0 

0 

0 

1 

1 

1 

1 

Backward counter 


Forward counter 

mi 


0 

0 

{!;//. 

0 

1 


1 

0 

w 

1 

1 

v.-V. 

jtjfi 

0 

0 

iffi 

0 

1 


1 

0 


1 

1 


0 

0 


0 

1 


1 

0 

fifli 

1 

1 

•t% •# 

0 

0 

fifi 

0 

1 

'iih 

1 

0 

V 

1 

1 




Input 

pulses 


,o 


Fig. 59. Binary counter. 


When one tube of the following flip-flop starts to conduct and tries to pull 
the grid of the other tube negative, this applied positive potential counter¬ 
acts this effect. A narrow positive pulse produces a surer flipping action. 
This narrow pulse is obtained by feeding the square wave to differentiator 
C\-R\. 7>3 and 7)4 allow only the positive pulse to trigger the following 
flip-flop. 

The modulus of a 2-stage counter is 2 2 ; of a 3-stage counter 2 3 ; of a 




































































146 


BUILDING BLOCKS 


4-stage counter 2 4 . In other words, the modulus is 2 to an exponent 
given by the number of counting stages. 

The positive pulse produced by the differentiator when the associated 
flip-flop flips to zero is called a carry; the carry adds a one to the succeed¬ 
ing column. If the flip-flops are connected in such a way that a carry pulse 
is produced when flipping from zero to one, the result is a counter which 
counts backward (see bottom of Fig. 59). 


Output 



Input 


Fig. 60. Decimal counter. 

A 4-stage counter counts to 16. By removing the last six binary com¬ 
binations in the sequence, this counter can be made to count from 0 to 9. 
The last six binary combinations are removed by means of the and circuit 
and delay elements shown in Fig. 60. The counter operates normally 
until it reads 1001 or binary 9. When this occurs, FFO and FF3 are storing 
a one —they prime the and circuit. When the next count pulse arrives, 
FFO is flipped to zero, and the and circuit allows FF\ and FF2 to be reset 
to zero. Delay D ± makes sure FF\ is flipped to zero after the carry from 
FFO had flipped FF\ to one. Delay D 2 makes sure FF2 is flipped to zero 
after the carry from FF\ had flipped FF2 to one. Flipping FF2 to zero 
produces a carry which flips FF3 to zero too. The tenth input pulse, 
therefore, makes the counter read 0000. Further counting is in normal 
binary until 1001 is again reached. 

Another type of counter is the ring counter. A ring counter is a device 
consisting of a ring of interconnecting bistable elements, only one of which 
can be in a specified state at any one time. The ring counter may be 


VACUUM-TUBE COMPONENTS 147 

likened to a commutator where each successive pulse causes a new line to 
be chosen. 

An 8-stage ring counter composed of thyratrons is shown in Fig. 61. The 
grid of each stage is connected to the cathode of the previous stage 
through a voltage divider. The voltage divider in the cathode of T 8 
connects back to the grid of 71. Thus all the stages are in a continuous 



Fig. 61. Ring counter. 


Only one tube conducts at any one time. Current flowing through the 
voltage divider in the conducting stage maintains a positive potential on 
the grid of the following stage. This positive potential is not enough to 
cause the following stage to conduct, but it is enough to prepare it for 







VACUUM-TUBE COMPONENTS 


149 




( b ) 


_X_I_X- 

" _L ■ 


Delay 


D 



£+ fi+ 



(c) 


Fig. 62. Electronic building blocks. (</) Switching. (/>) Amplifying, (c) Storage. 

148 


conduction—to prime it. When the next positive input pulse is applied, 
it has no effect on any stage except the one which is primed. The primed 
stage conducts and lowers the potential across R L enough to cause the 
previous stage to stop conducting. The voltage divider in the newly 
conducting stage now primes the succeeding stage so that the next input 
pulse will make the following tube conduct. 

The illustration shows 72 conducting. The positive potential across R2 
primes 73. The next positive pulse applied through C3 to the grid of 73 
increases its potential enough to cause 73 to conduct. 

SUMMARY OF ELECTRONIC BUILDING BLOCKS (Fig. 62) 

1. The resistor voltage divider acts as a switching circuit by controlling the 
voltage output. The diode circuit acts as a switching circuit by controlling the 
flow of current. 

2. Because of the relationship between and and or circuits, an and circuit for 
positive signals is equivalent to an or circuit for negative signals. 

3. The inverted and function is produced by a vacuum tube with several 
grids; the inverted or function is produced by a common load resistor for 
several vacuum tubes. 

4. A simple voltage amplifier inverts the polarity of the signal. A cathode 
follower does not invert the polarity, and does not increase the amplitude of the 
signal. A pulse reshaper standardizes the amplitude and width of a pulse signal. 

5. Inductance and capacity may be used as delay elements. The capacitor may 
form the basis for a storage cell if the charge and discharge are controlled by 
diodes. A delay line may be converted to a storage cell by means of feedback. 
Feedback can also convert two amplifiers into a flip-flop. 

6. Definitions to Remember 

FLIP-FLOP —A 1-bit storage device with two input terminals and two output 
terminals. The device remains in either state until caused to change to the other 
state by application of the corresponding signal. In either state the signal on 
one output terminal is out of phase with the signal on the other output terminal. 

COMPLEMENTING FLIP-FLOP —A flip-flop which always reverses states 
upon application of an input signal. 

CLEAR —To restore a storage device to a prescribed state, usually zero. 

SHIFT REGISTER —A register consisting of discrete storage cells, and in 
which bits may be advanced from one cell to the other by means of applied shift 
pulses. 

DIFFERENTIATOR —A circuit which • produces narrow pulses coincident 
with and in the same direction as the leading and trailing edges of an applied 
square wave. 

BINARY COUNTER —A device or circuit which counts in the binary number 
system—produces numbers consisting of one-zero combinations—when pulses 
are applied to its input. 

RING COUNTER —A device consisting of a loop of interconnecting bistable 
elements, only one of which can be in a specified state at any one time. Each 
successive applied pulse causes another clement in the loop to switch to the 
specified state. 




ELECTROMAGNETIC COMPONENTS 


151 


CHAPTER 7 

Electromagnetic components 


Instead of electric energy, magnetic energy may be stored. Instead of 
turning an electric circuit on and off, an electromagnetic circuit may be 
turned on and off. Instead of changing impedance by applying a voltage 
to the grid of a tube to swing it into and out of saturation, the impedance 
of a magnetic core may be changed by applying a pulse of current to a 
primary to swing the core into and out of magnetic saturation. Instead of 
using electrostatic coupling in a vacuum tube to produce amplified signals 
in the plate circuit, electromagnetic coupling may be used in a transformer 
to produce amplified signals in the secondary winding. 

In other words, logical circuits may be built of electromagnetic compon¬ 
ents as well as of vacuum-tube components. But there is one important 
difference between the two types of components: electronic tube com¬ 
ponents may operate with direct current; electromagnetic components 
cannot. Direct current flowing through a vacuum tube produces a voltage 
drop across a load which can be detected by another circuit. Not so with 
magnetic energy flowing through a magnetic core. Only when magnetic 
energy is changed, is a voltage induced across a winding. This means that 
only dynamic techniques, pulse-no-pulse or plus-pulse-minus-pulse 
combinations, may be used with electromagnetic components. 

ELECTROMAGNETIC LOGICAL ELEMENTS 

Electromagnetic Fundamentals 

Two principles form the basis for almost everything that follows: 
transformer action and the hysteresis loop. The first shows the relationships 
among current, magnetic fields, and induced voltages. The second shows 
how magnetic energy is stored. 

Figure 63 shows a transformer: an iron core around which are wound 
primary and secondary windings. If a pulse of current is applied to the 

150 


primary, the magnetic field varies, thus inducing a voltage across the 
secondary. As the current increases, the lines of flux increase and a 
positive potential is produced across the secondary. During the flat 
portion of the applied current wave the current is not changing and 
neither is the magnetic flux. As a result, no voltage is induced across the 
secondary. When the current drops, the lines of flux collapse, and a 
negative potential is produced across the secondary. 



Fig. 63. Transformer action, (a) Transformer. ( b ) Magnetic induction curve. 

This description of transformer action assumes that the magnetic core 
has a linear characteristic, that is, the magnetic induction of the core at 
all times varies with the applied magnetizing force which, in turn, varies 
with the applied current. But the magnetization curve is actually as shown 
in Fig. 63 h. The magnetic induction varies directly with the magnetizing 
force up to a point. After this point, any increase in applied magnetizing 
force has a very small effect on the magnetic induction. This point on the 
curve is called the point of magnetic saturation. At magnetic saturation 













































152 BUILDING BLOCKS 

very few lines are cut by the secondary and very little voltage is induced. 

This nonlinear curve represents the behavior of a magnetic core when 
subjected to a magnetic field for the first time. After it has once become 
magnetized, changes in current flow through a winding cause the magnetic 
induction of the core to follow the hysteresis loop shown in Fig. 64. If 
after the core reaches magnetic saturation in the positive direction (point 





Fig. 64. The hysteresis loop, (a) Positive current removed, (b) Negative current 
applied, (c) Negative current removed. (< d) Positive current applied. 

A , Fig. 64), the current through the winding is removed, then the magnetic 
induction does not drop to zero but to the positive remanence point 
(point B). If now current is allowed to flow through the winding in the 
opposite direction, the resultant magnetizing force makes the magnetic 
induction of the core follow loop BCD to the saturation point in the 
negative direction (point D). When the current is stopped, the magnetic 
induction falls to the negative remanence (point E). Reversing the current 
flow now causes the magnetic induction to vary along EFA. Thus, instead 
of following the same curve upward and downward, hysteresis makes the 
core follow one curve upward and another curve downward. 


ELECTROMAGNETIC COMPONENTS 153 

The shape of the hysteresis loop depends on the type of material used 
for a core. Iron cores such as those used for transformers have a nonsquare 
loop (Fig. 65 a); ferrite and molypermalloy cores such as those used for 

Positive 



(a) 



Fig. 65. Difference between square-loop and nonsquare-loop cores, (a) Nonsquare-loop 
core. ( b ) Square-loop core. 

many computer applications have a square loop (Fig. 656). Note that 
the core with the nonsquare loop does not have a well-defined saturation 
line and the remanence points are fairly high. 

Because it is needed for an understanding of practically all electro¬ 
magnetic components, the hysteresis loop is explained by means of the 
domain theory. In brief, the domain theory states that a magnetic 
material is composed of many tiny magnets. With no magnetizing force 










154 BUILDING BLOCKS 

applied, these tiny magnets are oriented in a random manner, causing no 
total field in any direction. With a magnetic force applied, the magnets 
are forced to line up. Once the magnets are fully aligned, further appli¬ 
cation of magnetic force has no effect on the magnetization of the core— 
saturation is reached. 


nononon 


BBBflflflfl 

fjnonono 


BBBBBBB 

nonon On 


BBBBBBB 

flft flftffflft 


BBBBBBB 

OOnonOn 


BBBBBBB 

bOB on on 


BBBBBBB 

onnnono 

Positive 

BBBBBBB 



The operation of a square-loop core is explained in Fig. 66. Assume the 
core is originally at negative remanence. At this point the tiny magnets 
are aligned, but not perfectly, with the south poles facing upward, let us 
say. If to the input winding is applied a pulse of current of such amplitude 
as to produce a magnetizing force smaller than the positive coercive force 
(point F ), the magnets are rotated but not quite enough. When the pulse is 
removed, the magnets fall back to their original position. But if the pulse 
of current is of such magnitude as to produce a magnetizing force greater 


ELECTROMAGNETIC COMPONENTS 155 

than the positive coercive force, then the magnets rotate past their hori¬ 
zontal orientations and fly toward positive saturation—with the north 
poles facing upward. This operation is analogous to that of a swinging 
door: if the door is pushed past the center point, it completes the 
swing even if the force is removed. The flipping pulse must be applied for 
a long enough time to supply the energy necessary to reorient each magnet. 
When the pulse is removed, the magnets become slightly disoriented—they 
fall to positive remanence. Flipping from the positive side to the negative 
side is similar except that it is accomplished with an opposite polarity 
pulse. 

Doughnut-Shaped Magnetic Cores 

Most magnetic cores used in computers are doughnut-shaped. The 
advantage of the doughnut shape, or the toroid, is that very few lines of 
flux are lost; a complete circular path is provided for the lines of flux. 

Doughnut-shaped magnetic cores with square hysteresis loops upon 
which are wound input and output windings make excellent storage cells. 
The positive remanence point may be called the one state and the negative 
remanence point the zero state. A one may be written into the core by 
applying a pulse of current in such a direction as to bring the core to 
positive saturation. When the pulse is removed, the core falls to positive 
remanence and remains there indefinitely. To write a zero into the core 
a pulse of current is applied to the input winding in the opposite direction, 
thus bringing the core to negative saturation. When the pulse is removed, 
the core falls to negative remanence and remains there indefinitely. 

To avoid ambiguity, a dot is placed near one end of the input winding 
to indicate whether a one or zero is written according to the following 
rule (see Fig. 61a and b). 

Current (/ 0 ) fed to the dot side flips the core to the zero state; current 
(q) fed to the nondot side flips the core to the one state. 

A dot is also placed near one end of the output winding to indicate 
whether a plus or minus output voltage is induced across it according to 
the following rule: 

When flipping the core to the zero state the dot end of the output 
winding becomes positive; when flipping the core to the one state 
the nondot end of the output winding becomes positive. 

Reading is accomplished as follows. A pulse which tends to flip the 
core to the zero state is applied to the input winding. If the core was 
storing a zero, the pulse causes the core to move along the negative 
saturation line. Since there is only a slight change in the lines of force, 




















BUILDING BLOCKS 



(d) 


- > Magnetic field due to writing 

—> Magnetic field due to reading 

Fig. 67. Doughnut-shaped magnetic core as storage element, (o) Writing zero. 
(b) Writing one. (c) Reading zero, (d) Reading one. 



ELECTROMAGNETIC COMPONENTS 157 

only a tiny voltage is induced across the secondary (Fig. 67c). If the core 
was storing a one, this pulse flips the core to the zero state. The change in 
lines of force induces a large voltage across the output winding (Fig. 61d). 
Therefore, no output voltage (or a tiny voltage) indicates the core was 
storing a zero, and an output voltage indicates the core was storing a one. 
Note that, after reading, the core is in the zero state in both cases. 

Although the doughnut-shaped square-loop core is primarily a storage 
cell, it may be used as a switch. It may be a switch from the voltage 
standpoint or from the impedance standpoint. 

The core may be viewed as a voltage-switching device if voltage signals 
applied to the input winding or windings control the voltage signals at the 
output winding or windings. The core may be considered to be a closed 
switch when a high voltage appears across the output winding; this occurs 
when the core reverses states. The core is an open switch when no (or a 
tiny) voltage appears across the output; this occurs when the core does not 
change states. 

The core may be viewed as an impedance-switching device if signals 
applied to input windings control the impedance of a circuit connected to 
the output winding. The core is a closed switch if a pulse applied to the 
output winding sees a short circuit; this occurs when the core is previously 
set so that the applied pulse does not flip the core. Since little magnetic 
energy is consumed by the core, the pulse is used almost entirely to cause 
current to flow in the secondary. The core is an open switch if a pulse 
applied to the output winding sees a very high impedance; this occurs 
when the core is previously set so that the applied pulse does flip the core. 
Since almost all the energy of the pulse is expended in reversing the state 
of the core, very little is left to produce current in the secondary. 

The doughnut-shaped square-loop core may also be used as an amplifier. 
A pulse applied to the input winding determines the state of the core. A 
pulse applied to the output winding causes current to flow in the load in 
accordance with what was stored in the core. The amount of energy 
flowing into the load is determined by the power applied by the pulse. 
This secondary pulse plays the same part in the magnetic amplifier that 
B+ plays in the vacuum-tube amplifier. 

The Twistor 

A device which behaves like a magnetic core but which possesses an 
entirely different physical form is the twistor. A twistor element consists 
of a copper wire upon which is helically wrapped Molybdenum Permalloy 
tape, as shown in Fig. 68a. Because of the way this magnetic tape is 
manufactured, it is easier to magnetize it along its length than in any other 
direction. This fact forms the basis for the twistor effect. 



158 


BUILDING BLOCKS 


ELECTROMAGNETIC COMPONENTS 


159 


Molybdenum Permalloy tape Easy direction of 



(a) Twistor element 




(b) Current into left of 
center conductor 


produces same Current into left of 

magnetic field as encircling solenoid 



(c) Current into right of produces same \ Current into right of 

center conductor magnetic field as r encircling solenoid 

Fig. 68. The twistor effect. 


Current i flowing through the center conductor produces a magnetic 
field which magnetizes the wrapped tape. If the current enters the con¬ 
ductor from the left (Fig. 686), the magnetic field induced in the tape is as 
shown. This can be easily seen by application of the right-hand rule which 
states that, if the wire is held by the right hand so that the thumb points in 
the direction of current flow, the fingers point in the direction of the 
resultant magnetic field; this field induces a magnetic field in the tape in 
the direction of easy magnetization. If the current enters the conductor 
from the right, the direction of magnetization of the wrapped tape is 
reversed, as shown in Fig. 68c. 

The same results may be achieved by sending current through a solenoid 
surrounding the twistor element. If current enters the left side of the 
solenoid (Fig. 686), a magnetic field is produced which points from left to 
right along the axis of the conductor. The wrapped tape is magnetized 
along the path of easy magnetization, as shown. If current enters the 
right side of the solenoid Fig. 68c, a magnetic field is produced which 



>- Tiny voltage 



(b) 


Large voltage 



(d) 

Fig. 69. Twistor as storage element, (a) Writing zero, (b) Reading zero, (c) Writing 
one. ( d ) Reading one. 

points from right to left along the axis of the conductor. In this case, the 
wrapped tape is magnetized in the opposite direction. 

Figure 69 shows the operation of the twistor as a storage element. By 
applying current i to the conductor (or the solenoid) in one direction, we 
write a zero. By applying current to the conductor (or the solenoid) in 
the opposite direction, we flip the magnetic state of the wrapped tape and 
thus write a one. Reading is accomplished by applying a ZERO-flipping 
read pulse current to the solenoid. If the wrapped tape was storing a 
zero, little change in magnetic field occurs and no (or little) voltage is 
induced across the center conductor. If the wrapped tape was storing a 
one, the reversal of the field induces a large voltage across the center 
conductor. 

Marginal Checking 

With magnetic cores, marginal checking is accomplished by varying the 
width of pulses applied to the cores. For any one type of core the width 



















160 BUILDING BLOCKS 

of the needed pulse is specified within certain limits. If the width is reduced 
to its lower limit and a core refuses to function, this core is replaced. 

Marginal checking is not needed as much with magnetic components as 
it is with vacuum-tube components. This is because magnetic cores are 
inherently much more reliable and rugged than vacuum tubes. 

Other Magnetic Components 

A square-loop magnetic mixture may be deposited on an acetate or 
Mylar tape to form magnetic tape. Thousands of bits of information may 
be stored on this magnetic tape, each bit being located in a small square 
on the tape. In effect, the tape is divided into many storage cells. 



Tape 


Fig. 70. Magnetic write head. 

Writing is accomplished by means of a magnetic head constructed as 
shown in Fig. 70. The triangular material has an air gap of about .0005 in. 
When current is applied to the winding, a magnetic field flows through the 
head and across this tiny air gap. If the magnetic tape is close to the head— 
about .002 in. distant—the lines of flux affect the magnetic state of the 
tape near the point of the head. Sending current through the winding in 
one direction causes the simulated storage cell on the tape to saturate 
positively—store a one. Sending current through the winding in the 
opposite direction causes the simulated storage cell to saturate negatively 
—store a zero. By moving the tape and feeding successive information 
pulses to the winding, bits may be stored in successive locations on the 


ELECTROMAGNETIC COMPONENTS 161 

tape. Figure 71 shows 4327928 recorded on the tape in binary-coded 
decimal plus parity-check bit for each digit. 

Reading is accomplished by means of a magnetic read head similar to 
the write head. As the magnetic tape with its stored bits is moved under 
the head, the magnetic field of each area induces a magnetic field in the 
head which induces a voltage across the output winding. The direction of 
the induced voltage depends on the direction of magnetization of the 
effective storage cell on the tape. 


Tape movement 


Check *4 

n ^ 

D D 

CO 

CO 

* o 


D ■ 

2-b'h « acK 

\ O • 

H aC * 



□ ■ □ 

■ □ 

□ □ 
□ 


9 2 8 


Heads 


■ Positive remanence 
□ Negative remanence 

Fig. 71. Tape recording. 

Several heads may be used to write and read information to and from 
several tracks along a strip of magnetic tape. A wider storage surface can 
be achieved by coating a drum with the square-loop magnetic material. 
With this arrangement many more tracks can be written into or read from 
simultaneously. Another variant of this technique is to coat a disk with 
the magnetic material, and write onto it and read from it juke-box fashion. 
Many other variations are possible. 


SWITCHING CIRCUITS 

For encoders, decoders, and other circuits which select certain lines 
under certain circumstances, the transformer action of magnetic-core 
components may be used. The magnetic core may have a nonsquare loop 
or a square loop. The wired-core encoder is an example of a switching 
circuit using nonsquarc loop cores. The magnctic-core coincident-current 
selector is an example of a switching circuit using square-loop cores. 



162 BUILDING BLOCKS 

For the bulk of the logical functions which must be performed by a 
computer, transformer action as well as storage action is used. In these 
circuits the switching functions are performed as the bits are shifted from 
core to core. In essence the cores, each of which delays the bit a little, 
represent a modified shift register. Logical functions easily performed by 
these modified shift registers are or and inhibit. With only these two 
circuits as building blocks, all other logical functions may be produced. 

The wired-core encoder, the magnetic-core coincident-current selector, 
and the or and inhibit circuits are presented below. 

Wired-Core Encoders 

Figure 72 shows a wired-core encoder which produces a different 3-bit 
binary number for each line chosen. Eight wires are threaded through 



Fig. 72. Wired-core encoder. 


three nonsquare loop cores, each wire threaded differently. Line 0 does 
not go through any core. Line 1 threads only the 2° core, line 2 threads 
only the 2 1 core, and line 7 threads all cores. When a pulse of current is 
applied to one of these eight input lines, a magnetic field is produced in the 
cores that are threaded by the chosen wire. The changing magnetic field 
produces an output voltage in the secondaries of these cores. No voltages 
are produced at secondaries of cores not threaded by the chosen line. 
The resultant output is a different binary number for each line selected. 

The illustration shows what happens when a pulse of current is applied 
to line 5. Cores 2° and 2 2 are threaded and, therefore, become magnetized. 
An output pulse is produced in positions 2 2 and 2°, thus giving an output 
of 101, or the binary combination for 5. 

Magnetic-Core Coincident-Current Selector 

The magnetic-core coincident-current selector is a device which activates 
one out of several output lines when signals arc applied to two input lines 


ELECTROMAGNETIC COMPONENTS 163 

simultaneously. The selector consists of a group of square-loop cores 
arranged in an array of vertical columns and horizontal rows. A vertical 
input line threads all the cores in a column; and a horizontal input line 
threads all the cores in a row. A separate output winding is wound around 
each core in the array. Current pulses, each of which is only half the value 
needed to flip a core, are applied to one vertical line and one horizontal 
line. Only the one core in the array through which both activated lines 
pass receives enough magnetic energy to reverse states; a pulse is produced 
across its output winging. 

Figure 73 shows a 3-column by 3-row coincident-current selector. The 
horizontal input lines are labeled X 0 , X v and X 2 . The vertical input lines 
are labeled Y 0 , Y l9 and Y 2 . Assume all cores in the array are originally at 
negative remanence. If now a half-current pulse—a pulse half the amplitude 
needed to bring a core to positive saturation—is applied to X 2 , the cores 
in this row reach point A on the hysteresis loop (Fig. 73b). Likewise, a 
half-current pulse applied to Y 1 causes the cores in this column to reach the 
same point on the loop. Only the cross-hatched core receives enough 
magnetic energy to flip completely to positive saturation. When the 
half-current pulses are removed, the cross hatched core falls to the positive 
remanence point; all other cores fall to the negative remanence point. 

Before being used again, the cores in the selector must be reset to 
negative remanence. 

Note that, if the strength of the half-current pulse is increased slightly, 
the core’s coercive force may be exceeded, and the core may flip completely 
with only one half-current pulse applied. For greater reliability of opera¬ 
tion it is best to improve the distinction between the effects of single half¬ 
current pulses and double half-current pulses. This distinction may be 
improved by applying a d-c bias to all cores in the coincident-current 
selector. Core operation with d-c bias applied is indicated in Fig. 73 c. 
The direct current places each core at negative saturation. One half¬ 
current pulse brings the core to the origin; two half-current pulses bring 
the core to positive saturation. 

OR and INHIBIT Circuits 

As was stated above, logical functions may be developed as bits are 
shifted from core to core in what may be considered to be a modified 
shift register. To understand this shifting action better, refer to Fig. 74a. 
A pulse applied to the input of core 1 sets it to the one state. A CP fed 
to the lower winding flips core 1 back to the zero state, and during 
flipping a voltage is developed across the output winding. This output 
voltage sends current through the input winding of core 2 and sets it to 
the oni state. In other words, the one in core 1 is shifted to core 2. The 


164 BUILDING BLOCKS 



(b) (c) 


Fig. 73. Magnetic-matrix selector, (a) Selector, (b) Loop without bias, (c) Loop with 
bias. 

next CP flips core 2 to the zero state, and the resultant output voltage 
sends current to the input winding of core 3. Of course, if a core is storing 
zero, the CP has no effect. The diode between cores prevents induced 
voltages from sending current backward—from core 2 to core 1, for 

instance. 

This circuit may be satisfactory for shifting one bit from core to core. 


ELECTROMAGNETIC COMPONENTS 165 





CP 


(d) 

Fig. 74. Magnetic-core switching circuits, (a) Shifting bits, (b) Temporary storage 
between storage cells. (c ) or circuit, (d) inhibit circuit. 

But usually, as one bit is being shifted from core 2 to core 3, another bit 
must be shifted from core 1 to core 2. To make sure that core 2 is com¬ 
pletely flipped before the contents of core 1 are applied to core 2, a delay 
circuit is placed between cores, as shown in Fig. 14b. In this configuration 
when the CP is applied, if core 1 is storing one, it flips and an output 
pulse flows through the diode to charge the capacitor Cl. After a delay 
determined by the charging of capacitor Cl, the capacitor discharges its 
current into the input winding of core 2. While a one in core I is charging 




















166 BUILDING BLOCKS 

Cl, a one in core 2 is charging C2. While Cl is discharging into core 2, 
C2 is discharging into core 3. Thus the delay between storage cells prevents 
interaction between storage cells. 

A simple or circuit is shown in Fig. 74c. A signal A is applied to the 
input winding of core 1 A, and signal B is applied to the input winding of 
core 1 B. The output winding of each of these cores is connected to one 
of the two input windings (/VI and N2) on core 2. The CP's are applied in 
series to a winding on each core. 

The circuit operates as follows. A pulse of current applied at A flips 
core l A to the one state. The next CP flips core 1 A back to the zero state, 
and induces a positive output voltage. This output voltage enters the 
nondot side of /VI to flip core 2 to the one state. The next CP flips core 2 
to the zero state and produces an output voltage. If a current pulse is 
applied to B instead of to A, the first CP induces an output voltage which 
causes current to flow to the nondot side of N2 to flip core 2 to the one 
state; the following CP produces an output voltage as before. Since a 
pulse applied at either A or B (or both) produces a pulse at the output, 
this is an or circuit. 

The inhibit function is produced by the circuit shown in Fig. 74^/. On 
the surface, the or and inhibit circuits look alike. But there is this impor¬ 
tant difference between them: in the or circuit winding N2 is wound in 
the same relative direction as /VI, whereas in the inhibit circuit N2 is 
wound in the opposite direction from /VI. In the inhibit circuit a pulse at 
A sets 1 A to the one state, and the following CP flipscore 2 to the one state. 
The next CP flips core 2 to zero and produces an output pulse. If at the 
same time a pulse is applied at A a similar pulse is applied at B , core \B is 
set to the one state. While the first CP is shifting the one from core 1 A 
to /VI, it is also shifting the one from core 1 B to N2. Since /VI and N2 
are wound in opposite directions, their magnetic fields cancel each other. 
The result is that core 2 does not flip to the one state and the following CP 
does not produce an output pulse. In other words, an output pulse is 
produced when A is present unless inhibited by a B pulse. The circuit pro¬ 
duces A • B. 

Other logical functions may be developed from these two logical blocks. 
The not function may be developed by making the A applied to an inhibit 
circuit always equal to 1: 

A • B = 1 • B = B 

If this B is applied to another inhibit circuit, an and function is produced: 

A • B = A • B 

A very important fact to remember about these switching circuits is that 



ELECTROMAGNETIC COMPONENTS 167 

the output occurs later in time than the inputs. In other words, there is a 
delay inherent to the magnetic-core switching circuit. 


AMPLIFYING CIRCUITS 

The square-loop toroidal core may be used for amplification, as shown in 
Fig. 75. Essentially the magnetic amplifier consists of an input winding 






Fig. 75. Magnetic amplifier, (a) zero flips core to zero state. ( b ) CPb A‘P s core to 
one state, (c) one keeps core in one state, (d) CPb keeps core in one state. 


to which are fed a clock pulse A (CP A ) and an input pulse; and an 
output winding to which is applied a clock pulse B (CP lf ) across which the 


amplified output is produced. 

Information is fed to the amplifier during ( P*—when A is positive. 
Information is removed from the core during CPn when B is positive. 







168 


BUILDING BLOCKS 


ELECTROMAGNETIC COMPONENTS 


169 


When CP A is positive, CP B is negative, and when CP A is negative, CP B is 
positive. 

If during the application of CP A a zero in the form of no-pulse is 
applied to the input winding, diode D\ allows current to enter the input 
winding through the dot side to bring the core to the zero state (Fig. 75a). 
Upon completion of CP A , CP B is applied to the output winding. Current 
enters the output winding through the nondot side to flip the core to the 
one state. Since most of the energy is consumed flipping the core, very 
little current flows to the load, and only a tiny output voltage is produced 

(Fig. 75b). 

Upon completion of CP B , CP A is applied to the input core. If now a 
one in the form of a positive pulse is applied to the input winding, D\ 
does not conduct and the state of the core cannot be changed. It remains 
in the one state. The next CP B sends current through the nondot side of 
the output winding to send the core from positive remanence to positive 
saturation. Since this small change in flux requires little energy, 
almost all the current flows through the load to produce a large voltage 
drop. 

This circuit is an amplifier because the amplitude of the output pulse 
may be greater than that of the input pulse. The output amplitude is 
determined mainly by the size of the clock pulse and by the load. The 
function of the clock pulse in the magnetic amplifier is analogous to the 
function of B+ in vacuum-tube amplifiers. 


STORAGE CIRCUITS 

The bistable magnetic core can be used for amplification and for 
switching. We have seen that during switching the core acts as a delay 
element too. This delay is determined by the time between clock pulses. 
If clock pulses are withheld, the core may store information for an indefinite 
period of time. This great versatility of the magnetic core makes it an 
ideal component for a variety of circuits which are essentially storage 
devices: the storage array which is a permanent storage device; the 
magnetic shift register and counter which are used for temporary storage; 
and the dynamic storage cell and dynamic flip-flop. The magnetic drum, 
tape, and disk are associated devices which are used for bulk storage. 

Magnetic-Core Storage Arrays 

Square-loop magnetic cores may be placed in a rectangular storage 
array (Fig. 76) similar to the array used for selection. As in the selector, 



Fig. 76. Coincident-current storage plane, (a) Writing. ( b ) Reading. 


vertical lines thread all the cores of a column and horizontal lines thread 
all the cores of a row. In the selector there is a separate output winding 
for each core; in the storage circuit all the output (sense) windings in the 
plane are connected in series. In the selector a bias winding inhibits 
selection unless two half-current pulses are present; in the storage array 
an information winding adds or subtracts magnetic flux as needed to store 

ONE or ZERO. 















170 


BUILDING BLOCKS 


Selection of a core during writing is accomplished by applying coincident 
pulses to a horizontal line ( X ) and to a vertical line ( Y) in a manner similar 
to that used in the selector. At the same time that these two pulses are 
applied, a pulse is applied to the information line /, in one direction for a 
one, in the opposite direction for a zero. If a one pulse is applied at the 
chosen core, the /, X, and Y fields add to bring the core to the one state. 
If a zero pulse is applied at the chosen core, the / and X pulses cancel 
each other and not enough flux is produced to flip the core; it stays 
in the zero state. All other cores definitely do not receive energy to 
flip. 

Reading is accomplished by applying a half-current pulse to a vertical 
and to a horizontal line in such a direction as to cause the chosen core to 
flip to the zero state. If the chosen core was storing a one, the core flips to 
zero and, during this reversal of flux, produces a voltage across the sense 
winding. If the chosen core was storing a zero, there is no flux reversal 
and very little voltage is produced across the sense winding. 

The above scheme is called coincident-current storage, and the plane of 
nine magnetic cores is called a 3-by-3 (three rows by three columns) 
coincident-current storage plane. This scheme of storage may be expanded 
to include several planes, coincidence occurring simultaneously at similar 
points in each plane. In Fig. 77 is shown how three 3-by-3 coincident- 
current storage planes are connected to form a storage scheme capable of 
storing combinations of bits. Three current drivers X 0 , X l9 and X 2 feed 
the rows of all three planes; and three column drivers T 0 , Y l9 and Y 2 
feed the columns of all three planes. A separate information driver sends 
either a one or a zero pulse into the information winding of each plane; 
and a separate sense amplifier picks up the signal produced during reading 
across the sense winding of each plane. 

The illustration shows what happens when the binary combination 101 
is written into a group of cores. The cores are chosen by activating 
drivers X x and Y 2 . The drivers send current flowing through the row and 
column lines shown in bold in each plane, selecting core A in plane 0, core B 
in plane 1, and core C in plane 2. At the same time, information drivers 0 
and 2 are caused to send ONE-producing current through the cores in 
plane 0 and 2 respectively. The X v Y 2 , and information pulses add to flip 
the cores A and C to the one state. Information driver 1, on the other 
hand, sends ZERO-producing current through the cores of plane 1. This 
current cancels the effect of the X 1 current in core B, thus leaving only Y 2 
to produce flux. This flux is not enough to flip core B. Upon completion 
of writing, therefore, cores A , B , and C are storing the combination 

101 . 

To read this combination, half-current pulses arc produced by A', and 


ELECTROMAGNETIC COMPONENTS 171 



Column drivers 

Fig. 77. Three planes of coincident-current storage. 


y 2 , but in the opposite direction. The two pulses in coincidence are strong 
enough to flip a core to the zero state. Cores A and C flip from the one 
state to the zero state; the reversals in flux produce output voltages in the 
sense windings of planes 0 and 2. The respective sense amplifiers amplify 
these output pulses. Core B does not flip since it is already in the zero 
state; no voltage is produced across the sense winding of plane 1, and 

nothing is amplified by sense amplifier 1. 

Many variations of the core storage array have been tried. One such 
variation is the ferrite apertured plate. This device is composed of a sheet 















172 


BUILDING BLOCKS 


sj0!j!|diue 0SU8S 




UO|J«tUJOJU| 


Fig. 78. Twistor storage array. 


ELECTROMAGNETIC COMPONENTS 


173 


of ferrite drilled with holes. The small area around each hole behaves like 
a toroid. Each toroid is activated by windings which are applied by printed- 
circuit techniques. The big advantage of the ferrite apertured plate is 

ease of fabrication. 

Research has also been done on thin films of magnetic material deposited 
on glass by printed-circuit techniques. 

Twistor Storage Arrays 

Coincident magnetic-core storage may be obtained in a slightly different 
way: by a word-selection technique. It is called word selection because 
in this scheme only one pulse is needed to read a complete word. In the 
following word-selection storage is described as it applies to twistor 
elements. The reader can easily visualize how this technique can be applied 

to magnetic cores. , . , 

A twistor storage array capable of storing five 4-bit words is shown in 

Fig. 78. It consists of four twistor elements and five solenoids, each 
solenoid surrounding all four twistor elements at a certain location. Each 
spot in the twistor element that is enclosed by a solenoid may be con¬ 
sidered to be a storage element similar to a toroid. Feeding each twistor 
element is an information bit driver which sends current through the 
center conductor in one direction for writing a zero and in the opposite 
direction for writing a one. Feeding each solenoid is a read-write driver 
which sends current through the solenoid in one direction for writing and 
in the oppositie direction for reading. At the output end of each center 
conductor is a sense amplifier which amplifies any voltage induced in the 

conductor when a read pulse is applied to a solenoid. 

Writing is accomplished by a coincidence of half-currents through a 

chosen solenoid and through a center conductor. If the bit current 
flowing through a center conductor is in such a direction as to produce a 
magnetic field in the wrapped tape in the same direction as that produced 
by the solenoid write current, the wrapped tape in this location flips to 
the one state. If the bit current is in such a direction as to produce a 
magnetic field in the wrapped tape opposing the field produced by the 
solenoid write current, the wrapped tape in this location remains in the 
zero state. The illustration shows 1001 being written into location 2. 
In the uppermost and lowermost twistor elements the fields unite to write 
a one. In the middle two twistor elements the fields cancel each other to 

leave a zero. 

No coincidence is needed for reading. A read current pulse large 
enough to flip the state of the wrapped tape is applied by a read-write 
driver to a chosen solenoid. This pulse flips the magnetic state of the 
wrapped tape to zero at each of the four spots enclosed by the solenoid. 


































174 BUILDING BLOCKS 

If a spot was storing one, the flipping produces an output voltage which 
is amplified by the associated sense amplifier. If a spot was storing a 
zero, no flipping takes place and nothing is picked up by the sense 
amplifier. In the example given, a read pulse applied by word-2 driver 
would flip the state of the wrapped tape in the uppermost and lowermost 
twistor elements. The amplifiers would thus read 1001, or what was 
stored in the given location. 

Registers and Counters 

In Fig. 74 we have seen how a bit may be shifted from one core to the 
next by means of clock pulses; and we have also seen how a delay between 
storage cores increases the reliability of bit shifting. A circuit such as that 
shown in Fig. 74 b may be used as a shift register. Instead of introducing 
a delay circuit between cores, the same delaying effect may be achieved by 
using two out-of-phase clock pulses in an arrangement using two cores for 
each stored bit, as shown in Fig. 19a. CP A is applied to one core of each 
pair, and CP B is applied to the other core. A bit is fed to the input 
winding of core 1 A. CP A shifts this bit to core 1 B. Then CP B shifts the 
bit from core \B to 2 A. At the same time the next bit is applied to core 
lA. The following CP A shifts the bits in cores 1 A and 2 A to cores IB 
and 2 B. Then CP B shifts the information from core \B to 2A and from 
cores 2 B to 3 A, and so on. The clock pulses are applied at a steady rate 
which determines the delay through each core. Figure 19b shows the same 
shift register in block diagram form. 

Figure 19c shows a 4-bit magnetic recirculating shift register with five 
gates: read-in, read-out, recirculating, shift right, and shift left. A 4-bit 
number may be fed to the register by applying a read-in signal to the read- 
in gate for the length of time it takes four CP A and four CP B pulses to 
occur. As each succeeding bit is shifted into S 3A , bits further along in the 
register are shifted into other cores with A subscripts. After four CP A 
and four CP B pulses, the first bit is stored in S 0B and the last bit is stored 

* n $313- 

If now the read-in signal is removed and the recirculation signal is 
applied, succeeding clock pulses cause bits from S 0B to be shifted into 
S 3A *. After four more CP A and CP B , all the bits are back to the same 
relative positions they were in upon completion of read-in. 

If now the right-shift signal is applied, the total number of delay 
elements in the loop is reduced from eight to six. After the advent of three 
CP A and CP B , the first bit appears in S 0B . If now the right-shift signal is 
removed, the following CP A and CP B annihilate the first bit, and the rest 
of the number appears in the three rightmost positions of the register. 
The leftmost position contains zero. 


ELECTROMAGNETIC COMPONENTS 175 




Output 




Fig. 79. Magnetic shift registers, (a) Shifting with two clock pulses. ( b ) Equivalent 
block diagram, (c) Recirculating shift resister. 

Just as the removal of delay from the loop produces a right shift, the 
addition of delay produces a left shift. When the left-shift is applied and 
four CP A and CP IS are applied, the bits wind up in S 1B , S 2B , S 3B , and S iB . 
If now S^., and S 4B are cut off from the register, only the three leftmost 
bits are being stored in the register— S 3II , S 2B , and S 1B . The rightmost 
position, S 0]l , is storing zero 

To feed information out of the register, the read-out signal is applied 
for the time it takes four CP A and CP U to pass. 























A modulus counter is essentially a recirculating shift register, as indi¬ 
cated in Fig. 80a. A preset pulse is placed in before counting begins. 
Instead of CP A , half the cores receive the count pulse. The other cores 
receive CP B as before. Each count pulse shifts the one to the following core; 

the next CP B shifts the one to the next core in line. 

The illustration shows a modulo-4 counter: after four count pulses are 
applied, a pulse is produced at the output. At the same time the one is 
shifted back to the first core in order that counting may be resumed. 

Figure 80 b illustrates how a modulo-3 counter can feed another modulo- 
3 counter to produce a modulo-9 counter. The first counter produces a 
pulse after three counts. When this pulse is applied to the second counter, 
the one in the second counter moves to the next position. After two more 
counts of three, the one in the second counter is shifted to the output. 
Thus an output is produced after three times three or nine counts. 


ELECTROMAGNETIC COMPONENTS 


177 


A magnetic-core modulus counter may be modified to produce an 
output at each core—a ring counter. Each count pulse causes a pulse to 
be produced in the following core in the line. This ring counter may some¬ 
times be used as a timing-pulse generator, such as shown in Fig. 80c. 
Here ten storage cells are connected in a recirculating loop to produce 
five timing pulses, t 0 , t v t 2 , t 3 , and t 4 . Note that the time between the 
occurrence of t 0 and the occurrence of the following t 0 is always five CP A 
and CP B . The same is true of the other timing pulses. If five CP A and 
CP B are considered to be a cycle, timing pulses always occur at the same 
point of the cycle. Timing pulses are used for control in digital computers. 

Dynamic Storage Cells 

A dynamic storage cell—one producing a train of pulses when storing 
one and no pulses when storing zero —may be built of three square-loop 
magnetic cores, as shown in Fig. 81a. The dynamic storage cell has an 
input core lA, an output core IB, and a reset core 2A. A positive pulse 
applied to the input core stores a one in it. CP A shifts the one to the output 
core; CP B shifts the one back to the input core. The one pulse is thus 
continuously shifted back and forth between cores lA and IB as long as 
clock pulses are applied. During each CP B an output pulse is produced. 

This situation continues as long as no signal is applied to reset core 2A. 
But if a pulse is applied to 2A, the next CP A sends current through N2 
to oppose the field produced by Nl, thus preventing core IB from 
flipping to the one state. As a result no output pulses are produced until 

a set pulse is once again fed to core lA. 

By combining two elementary dynamic storage cells as shown in Fig. 
81 b, a dynamic flip-flop is produced. The dynamic flip-flop has four cores: 
a set core (1 A) and a one output core (IB); a reset core (2 A) and a zero 
output core (2 B). The output of the set core inhibits the zero output core, 

the output of the reset core inhibits the one output core. 

Operation is as follows. A positive set pulse causes core l A to store a 
one. CP , shifts this one to the core IB; CP B shifts it back to the core IA. 
As long as clock pulses are applied, the one bounces back and forth 
between cores lA and IB, and a one output pulse is produced during each 


CP B . 

Every time the one is shifted to core IB, an inhibit pulse is applied to 
core 2B causing it to store zero. The result is that the zero output pro¬ 
duces no pulses while the one output core produces a train of pulses. 

If now a positive pulse is applied to the reset core 2A, it stores a one. 
CP , shifts it into core 2B; CP„ shifts it back to core 2 A. While this one 
is bouncing back and forth between cores 2 A and 2B, core IB is being 































178 


BUILDING BLOCKS 



Reset 


Output 



(b) 


Fig. 81. Dynamic storage, (a) Dynamic storage cell. (/>) Dynamic flip-flop. 

inhibited. The result is that the zero output core produces a series of 
pulses while the one output core produces no pulses. 

Note that, if the output of the dynamic flip-flop is viewed only during 
CP/., the output of the flip-flop is essentially the same as that ol a static 

flip-flop. 



ELECTROMAGNETIC COMPONENTS 179 

Magnetic Tape, Drum, and Disk 

Magnetic tape may be used to store many binary-coded characters in 
compact form. In the usual magnetic-tape handler, the tape, which may 
be several thousand feet long, unwinds from a source reel onto a take-up 
reel. As it unwinds, it is made to pass under a group of write-read heads 
at a constant rate. As the tape passes by the heads, each head writes a 
bit into the cell beneath it during each instant. The bits recorded by any 
cell make up a track. Figure 71 (p. 161) shows five recorded tracks 
produced by five magnetic heads. The bits on each track vary according 
to the character to be represented, as shown. 


Read-write heads 


Timing track 



/Information in 
Band Row 
6 8 


[_:_ i 



i 













i 


I 

f 



n 



9 

4 
2 
6 
7 

5 


Fig. 82. Magnetic-drum storage 


Reading is accomplished by unwinding the information tape and 
allowing the heads now activated for reading to pick up the signals from 
all five tracks at once. 

Because tape is long, it takes time to write it or to read it. To speed 
writing and reading, several tapes may be wrapped around a rotating 
cylinder, and several more stationary heads may be added to take care of 
the extra tracks. This is essentially the description of a magnetic drum. 

Figure 82 illustrates a magnetic drum with seven bands of five tracks 

each. A group of five read-write heads services each band. All bands are 

divided into 40 rows, numbered 0 to 39. A spot on the drum is specified 
by row and band. The bold area, for instance, is specified by band 6, 
row 8. At this location is stored the number 942675 in binary-coded 
decimal form, where positive saturation (hatched area) represents a one 
and negative saturation (clear area) represents a zero. 

The drum is rotating constantly. To select a location on the drum for 
either writing or reading, the proper band is chosen by activating the 
appropriate group of read-write heads. However, it must be activated only 



































180 


BUILDING BLOCKS 


Write current 


Magnetic induction 


Sense voltage 




Write current 


Magnetic induction 


Sense voltage 


(b) 

Fig. 83. Types of magnetic recording, (a) Return-to-ZERO. ( b ) Nonreturn-to-ZERO. 

when the appropriate row is underneath the heads. For instance, in Fig. 
82, to read the information in the area shown in bold, the heads servicing 
band 6 are activated as soon as row 7 comes under the heads. 

Evidently the row must be chosen by some sort of timing arrangement. 
A timing track storing a succession of one's helps in this selection. 

Several recording schemes are in use for magnetic drums. Two of 
these are the return-to-ZERO and the nonreturn-to-ZERO schemes. In the 



ELECTROMAGNETIC COMPONENTS 


181 


return-to-ZERO recording scheme, a one is recorded by feeding a positive 
current pulse through the write coil, and a zero is recorded by feeding a 
negative current pulse through the write coil. It is called return-to-ZERO 
because the current always passes through the zero point between pulses. 
Figure 83 a shows the flux pattern on the drum as the combination 
1010011 is recorded with the return-to-ZERO scheme. It also shows the volt- 
age induced into the read coil as it passes under this track during reading. 
A one induces a positive pulse followed by a negative pulse; a zero 



Fig. 84. Drum recirculating register. 


induces a negative pulse followed by a positive pulse. To make sense 

of the pulses read, they are fed to a gate which opens only during the first 

half of each pulse period. All one’s come through as positive pulses and 
all zero’s as negative pulses. 

The current, flux, and voltage waveforms in the nonreturn-to-ZERO 
recording scheme are depicted in Fig. 83 b. Here a one is represented by 
a flow of positive current, and a zero by a flow of negative current. But 
the currents do not fall back to zero in every case. When reading a track 
storing 1010011 in this form, the induced voltage waveform is as shown. 
Pulses are not produced for each bit of information. Pulses are produced 
only when the information switches from zero to one or from one to 
zero. A positive pulse is produced when switching from zero to one, 
and a negative pulse is produced when switching from one to zero. To 
translate these pulses, a storage device—such as a flip-flop—is needed. A 
positive pulse is made to set the flip-flop to one. Each clock pulse gates 
the one output out. A negative pulse is made to reset the flip-flop. The 
zero output is then gated through by clock pulses. 





































182 


BUILDING BLOCKS 


Interestingly enough, a track on a magnetic drum may be used as a 
recirculating shift register. The arrangement which accomplishes this is 
shown in Fig. 84. It consists of a read head scanning a track and feeding 
the bits through an amplifier back to a write head which writes the 
information further along on the same track. After a group of bits are 
read and rewritten, the read head appears at the point on the track where 
it can read the bits once more. This sequence may continue as long as 
the drum rotates. Several such recirculating registers may be built into 
one track. 

The magnetic tracks may be placed on disks as well as on drums and 
tapes. Devices have been developed which move the heads to the chosen 
disk and read the appropriate track when coded signals are applied to 
them. Other variations are the combination of tape and drum in one 
system, and the tape file in which a magnetic head may be shifted from one 
tape to another, thus allowing the storage of millions of bits in one system. 

SUMMARY OF ELECTROMAGNETIC LOGICAL 
BUILDING BLOCKS (Fig. 85) 

1. The magnetic toroidal core with square hysteresis loop has two states and 
may, therefore, be used as a storage cell. A one may be stored in one of several 
cores in an array by causing the magnetic field in the chosen core to be strong 
enough to flip the core to positive remanence. A zero is stored by keeping the 
core at negative remanence. Reading is accomplished by flipping the core to 
minus remanence and looking at the sense winding for a voltage (one) or no 
voltage (zero). 

2. The twistor is similar in action to a toroid. The twistor may be used in a 
storage array where writing is accomplished by a coincidence of half-currents 
through the center conductor and through an enclosing solenoid; and reading 
is accomplished by sending ZERO-flipping current through the enclosing solenoid. 

3. By using a clock pulse to set a toroidal core and another clock pulse to shift 
the information out of the core, a storage cell is effectively converted to a delay 
element. The length of delay is determined by the time between clock pulses. 

4. With magnetic cores, the dynamic form of the storage cell and the flip-flop 
are commonly used. 

5. The or and inhibit circuits are easily formed with magnetic cores. In the 
case of the or, two input windings are wound in the same direction. For the 
inhibit, the two input windings are wound in opposite direction, thus producing 
cancellation of magnetic flux when current is applied to both windings. These 
switching circuits possess inherent delay. 

6 . Other switching circuits may be built by utilizing the transformer action of 
the nonsquare hysteresis loop core. 

7. The toroid may be used for amplification. The polarity of the output pulse 
depends on the signal applied to the input. The strength of the output may be 
greater than that of the input. The power is obtained from the clock pulse which 
has a function similar to that of B-\- in vacuum-tube amplifiers. 


Storage cell 


Flip-flop 


(b) 



Amplifier 

(d) 


Fig. 85. Electromagnetic logical building blocks, {a) Storage, (b) Dynamic storage 
(c) Switching, {d) Amplifying. 


























































184 


BUILDING BLOCKS 


8 . The principles of operation of the magnetic drum, magnetic tape, and disk 
are similar to those of the magnetic core. Whereas clock pulses shift information 
out of the core, movement of the tape or drum relative to the heads cause output 
pulses to be induced in read heads. 

9. Definitions to Remember 

HYSTERESIS —The property of a magnetic material which prevents it from 
coming back to its original magnetic state after the magnetizing force is removed. 

MAGNETIC SATURATION —The point where any further increase in the 
magnetizing force applied to a magnetic material causes an almost negligible 
change in the magnetic state of the material. A material may be magnetically 
saturated in the positive or negative direction. 

SQUARE HYSTERESIS LOOP —A loop whose upper and lower saturation 

lines are fairly flat. 

COINCIDENT CURRENT STORAGE —A storage device composed of 
storage cells in a rectangular array. Information is written into and read from a 
location by sending current coincidentally to the column and row lines in which a 
location occurs. 

DYNAMIC STORAGE CELL —A logical element which has two possible 
outputs; a continuous series of pulses (one) or of no pulses (zero). A set pulse 
flips the cell into the one state; a reset pulse flips the cell into the zero state. 

DYNAMIC FLIP-FLOP —A circuit with two inputs and two outputs. The 
set input pulse produces a series of pulses on the 1-output line and no pulses on 
the O-output line. The reset input pulse produces the reverse: no pulses on the 
1-output line and a series of pulses on the O-output line. 

TRACK —That portion of a moving-tape storage medium—tape, drum— 
which is accessible to a given writing or reading station. 

BAND —A group of tracks which are often written onto or read from at one 

time. 

MODULUS COUNTER —A device which produces an output pulse after a 
certain number of input pulses or multiples of this number are applied. 

REMANENCE —The magnetic state to which a magnetic material falls when 
the magnetizing force is removed. Materials have positive and negative 
remanence states. 

RETURN-TO-ZERO MAGNETIC RECORDING —Magnetic recording in 
which a one is written by a pulse of current rising to a level and then returning to 
zero; and a zero is written by a pulse of current rising to a level in the opposite 
direction and then returning to zero. 

NONRETURN-TO-ZERO MAGNETIC RECORDING —Magnetic recording 
in which a one is written when current flows in one direction and a zero is 
written when the current flows in the opposite direction. Current passes through 
the zero point only when a one is followed by a zero or a zero is followed by a 
one. 

CLOCK PULSE (CP)— One of a stream of pulses occurring at a constant 
frequency. 

TIMING PULSE— A pulse always occurring at a definite point in a repeated 
cycle. 


CHAPTER 8 

Germanium diodes and 
transistors 


Early computers were built of relays and vacuum tubes. These machines 
were monstrous in size, consumed a great deal of power, and were usually 
installed in large, completely air-conditioned rooms. These computers 
were followed by computers built of magnetic-core components. The 
magnetic core reduced the size and power consumption, and made the 
computers decidedly more reliable. In recent years the quality of computers 
has been raised to a new level. Computers have been produced which are 
desk size, extremely reliable, fast, and consume little power. These 
computers are built of germanium diodes and transistors. The transistor 
is tinier than the miniature tube; it has no filament to draw power; it 
weighs less than a piece of candy-covered chewing gum; and it can 
perform almost all the functions associated with vacuum tubes, and several 
the vacuum tube cannot do. 


SEMICONDUCTOR LOGICAL ELEMENTS 

Basic Semiconductor Physics 

From the standpoint of conductivity, there are three types of elements: 
conductors, nonconductors, and semiconductors. A conductor has free 
electrons which may be made to flow from point to point by the application 
of electric charge. A nonconductor has its electrons tightly bound, making 
electron flow very difficult. A semiconductor is not normally a conductor 
but may be made conductive under certain circumstances. 

A typical semiconductor is germanium. As shown in Fig. 86, an atom 
of germanium consists of a nucleus with a + 32 charge surrounded by 32 

185 



BUILDING BLOCKS 


DIODES AND TRANSISTORS 


187 


))-©- 

Germanium 




Arsenic 




Indium 



. 86. Pure, p- type, and w-type germanium. 



negatively charged electrons arranged in four orbits. The electrons in the 
three inner orbits are tightly bound to the nucleus. The four electrons in 
the outer orbit are loosely bound. This picture may therefore be 
replaced by the equivalent simpler picture shown: a +4 core (rep¬ 
resenting the nucleus plus the tightly bound electrons) and four minus 
electrons. 

In a crystal of germanium the atoms arrange themselves neatly in the 
structure shown in Fig. 86. Loose electrons from adjacent atoms pair off 
to form what are known as covalent bonds. Since practically all outer 
orbit electrons are paired off, there is a negligible number of free electrons 
available for conduction. 

If a small impurity is embedded in the germanium, either an «-type or a 
p -type crystal may be formed. The n -type crystal allows the conduction of 
negative charges; the p -type crystal allows the conduction of positive 
charges. 

The n -type crystal may be formed by adding a tiny amount of an element 
such as arsenic which has five electrons in its outer orbit (Fig. 86). Four 
of the outer electrons in each atom of arsenic form covalent bonds with 
electrons from atoms of germanium, thus leaving one electron free to 
wander about the crystal lattice. These negative free electrons can be 
made to flow through the crystal by application of a potential across the 
crystal. Because the arsenic atoms donate electrons, they are called 
donors. Donor impurities introduce negative free electrons to produce 
tt-type germanium; by donating negative electrons, the donor becomes 
positively charged. 

The p -type crystals may be formed by introducing into the germanium 
tiny impurities of an element such as indium which has three electrons in 
its outer orbit (Fig. 86). The three outer electrons in each atom of indium 
form covalent bonds with three electrons from atoms of germanium. There 
remains one electron in a nearby atom of germanium that has no electron 
in the indium atom with which to pair off. We say the indium atom has a 
hole with a positive charge. If a potential is applied across the crystal, a 
negative electron is attracted to this positive hole. This electron leaves 
a hole in the atom from which it is taken. Then another electron fills the 
last hole formed, and so on. Even though electrons are actually moving, 
it is easier to explain semiconductor phenomena by saying that there is a 
flow of positive holes. Because the indium atoms accept electrons, they 
are called acceptors. Acceptor impurities introduce positive holes to 
produce p -type germanium. The acceptors by accepting electrons become 
negatively charged. 

Germanium diodes and transistors are formed by combining p -type and 
fl-type semiconductor crystals. 





















BUILDING BLOCKS 


Germanium Diode 


A germanium diode is formed by placing a / 7 -crystal next to an 72-crystal, 
as shown in Fig. 87a. With no potential applied across this p-n junction, 
the negative acceptors in the p -type material repel the negative free 
electrons in the 72-type material; and the positive donors in the n- type 
material repel the positive holes in the p -type material. The result is that 
the electrons and holes move toward the outer edges—but not entirely to 
the edges—of the diode. 


0 - 

© .©+© © 
+ 0. ©. © © 

t© + © + © © 

© © © © 
© © © © 

© © ©_©_ 


p-type 

n-type 


(a) 



Hole flow->■ 


Holes pulled to edge 




© Acceptors — Free electrons 

© Donors + Holes 

Fig. 87. Germanium diode as a switching component, (a) At equilibrium. ( b ) Symbol, 
(c) Diode on. (d) Diode off. 

If a potential is applied across the diode in such a direction as to make 
the / 7 -crystal positive and the 72-crystal negative, current flows. The 
positive potential on the / 7 -crystal repels the positive holes toward the 
junction, and the negative potential on the 72-crystal repels the electrons 
toward the junction. Positive or hole current flows from the / 7 -crystal 
to the w-crystal (Fig. 87c). This direction of current flow is indicated by 
the arrow of the symbol for the semiconductor diode (Fig. 87£). 

If a potential is applied across the diode in such a direction as to make 
the /7-crystal negative and the 72 -crystal positive, current does not flow. 
The negative potential on the /7-crystal attracts the positive holes to the 
edge of the /7-crystal; and the positive potential on the 77 -crystal attracts 
the negative electrons to the edge of the 77 -crystal (Fig. 87</). 



DIODES AND TRANSISTORS 189 

The semiconductor diode is thus a switch which is similar in operation 
to the vacuum-tube diode. 


Junction Transistors 

By forming two p-n junctions, as shown in Fig. 88 a, an n-p-n junction 
transistor is produced. The 72-crystal at the left is the emitter; the thin 
/7-crystal in the middle is the base; the 72-crystal at the right is the collector. 
The symbol for the n-p-n junction transistor is shown in Fig. 88 b. 


Emitter 


■© ©~© © 

©,© 

© © © © 

© © © © 

©?© 

e;e 

© © © © 

-©_©:© © 

© © ©-© 


Emitter 


Collector 


n-type 


Electron current 


p-type 

(a) 


/i-type 



Electrons pulled 
to edge 


Electrons pulled 
to ed|e 


—■ 

+ + 

— _ 

Collector 

Emitter 

— 

+ + 

— 

n “ “ 

p+ 
+ + 

71 — ~ 


1 


n 

p+ 

+ + 

V 

n ™ ” 


Base 


Collector 


Base 


(c) 


(d) 


© Acceptors 
© Donors 


— Free electrons 
+ Holes 


Fig. 88. A n-p-n junction transistor as a switching component, (a) At equilibrium. 
(b) Symbol, (c) Transistor conducting, (d) Transistor cut-off. 


Figure 88 a shows the n-p-n junction transistor when no potentials are 
applied to it. The positive holes are repelled to the center of the base by 
the positive donors in both 77-crystals. The negative acceptors in the base 
repel the free electrons toward the edges of both 72-crystals. 

If the emitter is made negative with reference to the base, and the 
collector is made positive with reference to the base (Fig. 88 c), electron 
current flows from emitter through the base to the collector. The negative 
potential applied to the 72-crystal emitter repels electrons toward the base; 
and the positive potential applied to the 72-crystal collector pulls these 
electrons out of the base toward the collector. The extreme thinness of the 
base does not allow the electrons much time to combine with holes in the 
base. Note that electrons flow opposite to the direction of the arrow on 
the emitter of the transistor symbol; in other words, the arrow indicates 
the direction of positive current flow. 







190 


BUILDING BLOCKS 


DIODES AND TRANSISTORS 


191 



£+ 54- 




Fig. 89. Junction transistor as an amplifying component, (a) An n-p-n inverting 
amplifier and an analogous triode amplifier. ( b ) An p-n-p inverting amplifier and an 
analogous fictitious triode amplifier, (c) An n-p-n emitter follower and an analogous 
cathode follower. 


If the emitter is made positive with reference to the base, and the 
collector is made positive with reference to the base (see Fig. 88 d), then 
no electrons flow from emitter to collector. The positive potential applied 
to the ^-crystal emitter pulls electrons over to the left edge; and the positive 
potential applied to the ^-crystal collector pulls electrons over to the right 
edge. The transistor is cut off. 

Because the n-p-n transistor has two stable states—cutoff and con¬ 
duction—it may be used as a switching component. It is also an amplifying 
component, as can be seen from Fig. 89 a. The base and emitter arc in the 


input circuit; the emitter, base, and collector are in the output circuit. 
The more positive the base is made relative to the emitter, the more electrons 
flow from emitter through the base to the collector. The potential applied 
between base and emitter may be small, but a larger potential may be 
developed across the collector load. Electrons flowing toward 54- 
produce a voltage drop across the load in such a direction as to invert the 
phase of the amplified signal. 

The above circuit of the n-p-n inverting amplifier is analogous in 
operation to the vacuum-tube amplifier. The emitter is analogous to the 
cathode; the base to the grid; and the collector to the plate. A positive 
potential is required on the collector just as it is on the plate of a triode to 
keep the transistor operating. Cutoff of the transistor is obtained by 
applying a negative bias to the base, just as it is obtained in the vacuum 
tube by making the grid negative. A positive signal on the base of the 
transistor causes conduction which produces an inverted amplified signal 
at the collector, just as a similar signal applied to the grid produces an 
amplified inverted signal in the plate of a triode. 

By making the emitter and collector of /^-crystals and the base of n- 
crystals, a p-n-p junction transistor is formed. The operation of the 
p-n-p is similar to the operation of the n-p-n transistor, except that operating 
potentials and current flow are in reverse directions. At equilibrium the 
holes are repelled by the positive donors in the base toward the edges of 
the emitter and collector. With a negative collector and a negative emitter 
(with reference to the base), these holes are repelled further to the edges: 
no holes flow from emitter to collector. If a negative pulse is applied 
between the base and the emitter—thus making the emitter relatively 
positive—the holes in the emitter are repelled to the base and then attracted 
to the collector. Positive hole current flowing through the collector load 
produces an inverted amplified signal at the collector. 

The operation of the p-n-p junction transistor is analogous in operation 
to a fictitious vacuum-tube triode containing a cathode which emits holes 
instead of electrons (see Fig. 89 b). 

Note that the arrow in the symbol for the p-n-p transistor points in the 
direction of positive current flow. 

Figure 89c shows an emitter-follower circuit using an n-p-n which 
produces an in-phase output in a manner analogous to the way the 
cathode-follower circuit operates. An emitter-follower circuit may also be 
formed of a p-n-p transistor. 

Marginal Checking 

The transistor has no filament. Therefore, marginal checking must be 
performed by varying the potential applied to another electrode, usually 


192 BUILDING BLOCKS 

the collector. In a good transistor, lowering the potential on the collector 
to the lower tolerance margin has no effect on its operation. If the tran¬ 
sistor does become inoperative as a result of lowering the collector potential, 
it means that it is wearing out and should be replaced. 

SWITCHING CIRCUITS 

Diode Switching Circuits 

Germanium diode switching circuits are formed the same way vacuum- 
tube diode switching circuits are formed. An and and an or circuit are 
shown in Fig. 90. Only when all signals applied to the and circuit are 


+ v 



y 

-v 


and circuit OR circuit 

Fig. 90. Diode switching circuits. 

positive, do none of the diodes conduct and produce a positive voltage at 
the output. If any signal to the or circuit is positive, the associated diode 
conducts and produces a positive output voltage. 

Several double-diode and circuits may be combined in a rectangular- 
diode decoding matrix such as that shown in Fig. 91 to produce any or all 
possible combinations of signals. Two variables A and B are combined 
in four different ways in the four and circuits at the top; two other 
variables C and D are combined four different ways in the four and 
circuits at the left. The four A-B combinations are then combined with 
the four C-D combinations in the sixteen and circuits in the rectangle. 
With this arrangement, each combination of four input signals chooses one 
of sixteen possible output points. 


DIODES AND TRANSISTORS 193 

From the above illustration it is obvious that a decoder consists of 
a combination of and circuits. The and circuits of a decoder may be 
arranged differently. Figure 92 shows a circuit which decodes numbers in 
excess-3 code to decimal. Essentially this decoder consists of ten and 


B A 


B A 


B A 


B A 



D-C-B-A 


D-C-B-A 


D-C-B-A 


D-C-B-A 


circuits, each and circuit being composed of four diodes attached to a 
horizontal line, and the resistor in the horizontal line. Four input bits 
are applied to each of the ten and circuits by sending a positive pulse to 
either the one or zero line of each of the four pairs of vertical lines. All 
other vertical lines are negative. Each horizontal line— and circuits— 
which has a diode connected to a negative vertical line produces a negative 
output since the diode conducts. The one horizontal line which is con¬ 
nected through diodes to the four positive vertical lines produces a positive 
output since none of the diodes conducts. 


BUILDING BLOCKS 



DIODES AND TRANSISTORS 


195 


The illustration shows 1001 decoded into 6. The bold, vertical lines are 
positive; all other vertical lines are negative. A positive potential applied 
to all four diodes attached to horizontal line 6 causes all of these diodes to 
be open. No voltage drop is produced across R and a positive signal is 
developed at the output. 

Just as a decoder consists of a group of and circuits, an encoder may be 
considered to consist of a group of or circuits. A circuit which encodes 
decimal numbers to binary-coded decimal is given in Fig. 93. The diodes 
along each horizontal line together with the resistor in each horizontal 
line compose an or circuit. A signal applied to each of the ten vertical 
input lines feeds a positive potential to a different combination of four or 
circuits. For instance, a positive potential applied to line 6 feeds current 
through the diodes shown to the four horizontal bold lines. As a result, 
positive signals are produced across R 1, R2 , R3, and R4. The output is 
therefore 0110 or binary 6. 

Both the decoder and the encoder do translation. The decoder translates 
a combination of signals into one of a group of signals; the encoder from 
one of a group of signals into a combination of signals. The general case 
of translating from a group of signals to a different group of signals may be 
accomplished by combining a decoder with an encoder. For instance, to 
translate from excess-3 to binary-coded decimal, the excess-3 signals may 
be first applied to the decoder of Fig. 92. The decimal line outputs of the 
decoder are connected to the inputs of the encoder of Fig. 93. The output 
of the second circuit is the required result. In the example used, the 1001 of 
excess-3 chooses line 6 in the decoder. This line is connected to line 6 of 
the encoder and thus causes 0110 to be produced by the encoder. 

By means of logic, the decoder and encoder may be merged into a 
translator matrix using fewer diodes. 

Transistor Switching Circuits 

Switching circuits may be produced by connecting transistors in series 
or in parallel. When connected in series, as shown in Fig. 94 a, the circuit 
is an inverted and. Only when a positive potential is applied to both bases 
does hole current flow as indicated. The hole current flowing through the 
load resistor produces a negative output. When connected in parallel, 
as shown in Fig. 94/?, the circuit is an inverted or. If the base of either 
transistor is made positive, the transistor conducts, and the current flowing 
through the common load resistor produces a negative output. 

Remembering that an inverted and is formed by a series connection 
and that an inverted or is formed by a common load resistor, almost 
any logical function can be easily duplicated. Figure 94c, for instance, 














(c) 

Fig. 94. Junction transistor switching circuits, (a) inverted and. ( b ) inverted or. 
(c) Combination of switching circuits. 

illustrates a circuit which produces 

A • [C -(D + E) + B] + F 

If for the moment, polarity inversions are disregarded, the parallel com¬ 
bination of 77?4-77?5 produces D + E. By placing these transistors in 
series with 77?3, the expression C • (D 4- £)is produced. Paralleling all this 
with TR2 produces C - (D + E) + B. Placing 77? 1 in scries with this 
combination produces A • [C • (D + E) + B]. Connecting all ol this in 
parallel with 77?6 produces A • [C • (/> + E) + B\ + F. This expression 


DIODES AND TRANSISTORS 197 

indicates how the currents in the various transistors combine. When the 
current flows through the load resistor, it produces a negative output 
voltage. The output of this circuit is therefore 

A • [C • (D + E) + B] + F 

The illustration indicates what happens when A = 1, B = 1, and C = 1. 
The bases of TR2 , 77? 1, and 77?3 are positive; the others are negative. 
Though the base of 77?3 is positive, this transistor does not conduct since 
the bases of both 77?4 and TR5 are negative thus maintaining an effective 
open circuit. However, since the bases of both TR2 and 77? 1 are positive, 
hole current can flow through the path given by the load resistor, TR2 and 
77?1 to ground to produce a negative output. Therefore, the output is 
equal to 

A • [C • (D + E) + B] + F = 1 

Another example of a transistor switching circuit is the 5421 coded- 
decimal forbidden-combination detector illustrated in Fig. 95. A forbidden- 
combination detector determines if the coded bits of a number are 
forbidden by the code in use. For instance, in the 5421 system, the six 
combinations 

0101 

0110 

0111 

1101 

1110 

1111 

have no meaning, and their presence anywhere in the computer indicates 
an error has occurred. 

The forbidden-combination detector may take on two forms. It may 
either test for proper combinations or it may test for forbidden com¬ 
binations. In the first case, the output of the detector allows further 
transmission of the information. In the second case, the output of the 
detector is used to prevent further transmission. 

The first version of the circuit is obtained by noticing that all proper 
combinations have C = 0 or else C = 1 and B = 0 and A = 0, and that 
this is never true for forbidden combinations. The logical expression 
for the proper combination is therefore 

C + C ■ B • A 

This is produced by the p-n-p transistor circuit shown in Fig. 95a. If the 
combination 0100, for instance, is fed to the circuit, the bases of transistors 
77?2, 77?3, and 77?4 arc made negative (in this circuit, negative means 
oni and positive means zero) and the others positive. As a result, electrons 


198 


BUILDING BLOCKS 


DIODES AND TRANSISTORS 


199 


-v. 


Proper 


^54 2 1 

00 00 
000 1 
0 0 10 
00 11 
0 100 
1000 
100 1 
10 10 
10 11 
1100 


Proper 


C = 



TRl 


C = 1 


B = 1 


A = 1 



C + C-B-A 


(a) 


Forbidden-^ 


0 10 1 
0 110 
0 111 
110 1 
1110 
1111 



— Vcc “ Vcc 



Fig. 95. Forbidden-combination detector in 5421 coded decimal, (a) Based on proper 
combinations, (b) Based on forbidden combinations. 


flow through TR2, TR3, and TRA, and a positive output is produced 
across the load resistor. Transistor TR5 inverts the signal to make it 

negative. . , . .... 

The second version of the circuit is obtained by noting that all forbidden 

combinations have either A and C equal to one, or B and C equal to one, 


and that this is never true of a proper combination. The logical expression 
for the forbidden combination is therefore 

T-C + D- C= C-(T + £) 

which is produced by the circuit shown in Fig. 95b. If the forbidden 
combination 1101 is applied to this circuit, the base of TRl and TR2 are 
negative and the base of TR3 is positive. Electrons flow through TRl 
and TRl to produce a positive output which is reversed by TR4. 


AMPLIFYING CIRCUITS 

Like the triode and tetrode, the junction transistor may be either an 
amplifier or an inverting amplifier. With the emitter grounded and the 
output taken from the collector, inversion is produced. With the collector 
tied to a potential and the output taken from a load in the emitter—an 
emitter-follower circuit—no inversion is produced. In the first case 
voltage amplification is achieved, and in the second case current amplifi¬ 
cation. 

Figure 96a shows how an n-p-n transistor inverting amplifier may be 
used between groups of diode circuits. The circuit shows a level of and 
circuits (diodes D 1 to D5) followed by a level of or circuits (D6 to D9), 
and another and circuit (D10 and D11). This is the general arrangement 
of practically all logical diode circuits. The output of the and circuit is 
fed to the transistor amplifier to restore the signal energy. But the transistor 
inverts the phase too, and the not function is produced. 

Suppose we do not want the not function but the function itself. Must 
the signal be reinverted? Not necessarily. For the next group of logical 
circuits we may form the convention that a negative pulse is one and a 
positive pulse is zero. If this is done, the same configuration of diode 
circuits as shown in the illustration represents the three logical levels of 
or-and-or. Thus by alternating definitions for each successive group of 
three diode levels, an unbroken succession of and-or-and-or-and . . . 
levels may be obtained. 

If the circuit illustrated accepts positive signals (Fig. 96 b), then the 
polarities shown at the inputs represent 

A = 1 D = 1 
B = 1 E = 1 

C = 0 F= 1 

(7 = 0 

With these signals applied, a positive pulse a ONE —is produced at the 













200 


BUILDING BLOCKS 




(b) (c) 

Fig. 96. Diode switching—transistor amplifier combination, (a) Schematic. ( b ) Logic 
representation for positive signals. ( c ) Logic representation for negative signals. 

base of the transistor. The transistor inverts the potential to make it 
negative. 

If the same circuit is used to accept negative signals (Fig. 96c), then the 
polarities at the inputs represent 

A = 0 D = 0 

B = 0 £=0 

C =1 F =0 

G = 1 


DIODES AND TRANSISTORS 201 


Obviously the same positive potential is produced at the base of the 
transistor. But this positive potential represents a zero this time. From 
the logical block diagram it is obvious why the output should be zero. 
The transistor may once more invert the phase so that positive signals may 
be assumed to represent one, and the process continues. 



Drive 

(return-to-ZERO) 


1 



1 



Information 

(pulse-no-pulse) 


Fig. 97. Write and read (or sense) amplifiers, (a) Write amplifier. ( b ) Read (or sense) 
amplifier. 

This illustration shows the significance of polarities in the determination 
of logical circuits. In other combinations the polarities may influence the 
logic in a different way. As long as definitions of one’s and zero’s are kept 
firmly in mind, no difficulty need occur in our understanding of the logic. 

Some amplifiers used in computers are not as straightforward as those 
mentioned up to now. This is especially true of amplifiers used in the 
writing and the reading of storage devices. The additional complication 
in these circuits arises from the fact that the write and read amplifiers do 
more than amplify. The write amplifier associated with a drum, for 
instance, translates computer informational pulses into pulses which are 
of proper polarity, width, and power to magnetize appropriately the drum 
areas when these pulses are applied to the write head. Similarly, the drum 
read amplifier translates the pulses sensed by the read head into infor¬ 
mation pulses that the remainder of the computer can understand. 
Figure 97 shows in a very simplified form what the write and read amplifiers 


















202 BUILDING BLOCKS 

do in a computer using a pulse-no-pulse informational system and a 
magnetic drum with return-to-ZERO recording. 

The write amplifier operates as follows. The pulse-no-pulse combination 
for the information is fed to a gate-type circuit at the same time that 



Fig. 98. Write amplifier for core memory. 

clock pulses are applied to this gate. The circuit is arranged so that, if a 
one (a pulse) is applied, an amplifier is activated to send current through 
the write coil on the head in one direction; if a zero (no pulse) is applied, 
another amplifier is activated to send current through the write coil in the 
opposite direction. 

A simplified schematic of a circuit which accomplishes this operation 
is shown in Fig. 98. With a positive clock pulse on the base of TR 1 and a 


DIODES AND TRANSISTORS 203 

positive pulse (one) on the base of 77?2, both these transistors conduct to 
make the base of 77? 3 negative enough to keep it cut off. At the same 
time, the current across R e produces a positive potential which turns on 
77?4. Transistor 77?4 sends hole current through the writing coil in the 
direction shown. With no pulse (zero) applied to TR2 at the same time 
CP is applied to 77? 1, transistor TR\ conducts while TR2 does not. 
Current produced by only one of these transistors is not sufficient to 
make the base of 77? 3 negative enough to open it. The base of 77? 3 is 
relatively positive while the base of 77?4 is negative. As a result, 77?3 
conducts and sends hole current through the writing coil in the direction 
shown. 

The read amplifier accepts the waveform sensed by the sense winding. 
With a return-to-ZERO recording scheme, a one is sensed as a positive 
pulse followed by a negative pulse, and a zero is sensed as a negative 
pulse followed by a positive pulse. To avoid confusion, a sampling pulse 
allows only the first pulse of the pair to pass through an and circuit and 
to be applied to an amplifier circuit. 

These write and read amplifiers are merely examples of the circuitry 
required. For different informational systems and different storage 
systems, other types of write and read amplifiers are required. Since 
write and read amplifiers are more a problem for the electronics expert 
than for the computer expert, they are not discussed any further. 


STORAGE CIRCUITS 

Flip-Flop 

The junction transistor flip-flop is similar in operation to the vacuum- 
tube flip-flop. A simple transistor flip-flop is drawn in Fig. 99. One 
transistor or the other is conducting at any one time. If TR\ is conducting, 
the negative potential produced at the 77? 1 collector by R IA is fed to the 
base of TR2 to keep TR2 cut off. The nonconducting TR2 keeps its 
collector and, therefore, the base of TR 1 positive. As a result, TRl is 
maintained at high conduction and TR2 at cutoff. This is the set or one 
state. To flip the flip-flop to the zero state, a positive pulse may be 
applied to the base of TRl to cause it to conduct; TRl conducting, in 
turn, cuts off TRl. The same result can be obtained by applying a negative 
pulse to the collector of TR2 and to the base of 77? 1 to cause 77? 1 to cut 
off and TR2 to conduct. 

The flip-flop may be flipped back to the one state by a negative set 
pulse applied to the collector of 77? 1 and to the base of 77?2. 





































204 


BUILDING BLOCKS 


DIODES AND TRANSISTORS 


205 


In the set state a positive signal appears at the one output line and a 
negative signal at the zero output line. In the reset state a positive signal 
appears at the zero output line and a negative signal at the one output 
line. 



Fig. 99. Transistor Flip-flop. 

Shift Register 

Transistor flip-flops may be used as storage cells in a shift register. As 
was shown in the previous chapters, to reduce ambiguity of operation, a 
delay must be introduced between storage cells. Even more reliable 
operation can be obtained by means of a double-rank shift register. A 
double-rank shift register (Fig. 100#) has two storage cells for each bit. 
One storage cell (FFl, FF2, etc.,) stores the bit; the other cell (FFl', FF2!, 
etc.,) acts as temporary storage during the transfer of the bit from one 
storage cell to the next. The block diagram shows the two storage levels 
connected by means of and switches to produce right shifts. A right shift 
is accomplished by applying a shift-down pulse and then a shift-up pulse. 
The shift-down pulse primes the and circuits to the temporary storage 
cells; bits stored in the information flip-flops FFl, FF2, etc., are fed to 
flip-flops FFV, FF2!, etc. The following shift-up pulse primes the and 
circuits to the information storage cells; information stored in the 
temporary storage cells are fed to the information flip-flops. Each 
succeeding pair of shift pulses shifts the information one bit position to the 
right. 

Another set of and circuits may be connected between flip-flops in such 
a manner as to shift bits from information cells to temporary storage cells, 
and then to information cells to the left to produce left shifts. 



Fig. 100. Double-rank transistor shift register, (a) Block diagram, (b) Schematic. 


A circuit of a transistor double-rank shift register is shown in Fig. 1006. 
Information flip-flops FFl and FF2 are shown on the upper level; tem¬ 
porary storage flip-flops FFV and FF2! are shown on the lower level. Set 
pulses are fed to the left-hand collector of each flip-flop through an and cir¬ 
cuit consisting of two transistors in series. The negative set pulse is produced 
only when a one is applied to one transistor and a shift pulse to the other 
transistor of the and circuit. Similarly, reset pulses are fed to the right- 
hand collector of each flip-flop through a scries and circuit. The negative 






































(b) 

-V -V 



Fig. 101. Semiconductor logical building blocks, (a) Switching, (b) Amplifying 
(c) Storage. 


DIODES AND TRANSISTORS 


207 


reset pulse is produced only when a zero is applied to one transistor and a 
shift pulse to the other transistor of the and circuit. 

The illustration shows FFl storing a one and FF2 storing a zero. Since 
FF2 received its zero during the last shift from FFY , FFY is also shown 
storing a zero. Similarly, the temporary storage cell feeding FFl is 
storing a one. If now a shift-down pulse is applied, the base of both 
transistors of A 3 are made positive, causing these transistors to conduct. 
The negative output pulse of the and circuit sets FFY to one, reversing 
the polarities shown on the two output lines. When the next positive 
shift-up pulse is applied, the bases of both transistors of A 5 are made 
positive, causing these transistors to conduct. The negative output pulse 
of A 5 sets FF2 to one. The total result is the shifting of one from FFl to 
FF2. 

At the same time that bits are shifted from FFl to FFY and then to 
FF2, other bits are being shifted from other information cells to temporary 
storage cells and then to information cells to their right. 


SUMMARY OF SEMICONDUCTOR LOGICAL BUILDING 

BLOCKS (Fig. 101) 

1. and and or switching circuits may be formed of germanium diodes and a 
load resistor. The diodes in the or circuit are connected in the opposite direction 
from diodes in the and circuit. The supply voltage for the or circuit is opposite 
in polarity to the supply voltage of the and circuit. 

2. Two p-n-p junction transistors connected in series form an and cir¬ 
cuit. Two transistors connected in parallel form an or circuit. This is true if 
the load is between emitter and ground. If the load is in the collector, an 
inversion occurs to make the series circuit an inverted and and the parallel 
circuit an inverted or. The n-p-n junction transistor produces the same functions 
in similar circuits except that it handles negative pulses instead of positive 
pulses. 

3. The junction transistor with collector load acts as an inverting amplifier. 
The emitter-follower transistor acts as an amplifier; it does not increase the 
amplitude but it does increase the power of the output signal. 

4. A transistor flip-flop may be obtained by connecting two p-n-p tran¬ 
sistors in a circuit very similar to a vacuum-tube flip-flop. By connecting the 
set and reset points through diodes to a common input point, the circuit is 
converted to a complementing flip-flop. 

5. Definitions to Remember 

TRANSLATOR —A network to which are applied signals representing 
information in a certain code, and the output of which are signals representing 
the same information but in a different code. 

DOUBLE-RANK REGISTER —A shift register consisting of two rows of 
storage cells: one row for actual storage of the bits, the other row for temporary 
storage of bits while they arc being shifted to another stage. 






























208 


BUILDING BLOCKS 


WRITE AMPLIFIER —An amplifier plus the associated circuitry required to 
convert computer information signals into the form needed for driving a storage 
device. 

READ AMPLIFIER —An amplifier plus the associated circuitry required to 
convert storage output signals into a form which makes them understood by the 
remainder of the computer. 




CHAPTER 9 


Other devices and circuits 


The relay, vacuum-tube, magnetic, and semiconductor circuits and 
devices presented up to this point have been successfully incorporated 
into practical digital computers. Components operating on principles 
other than those previously discussed have also been tried. In addition, 
many industrial laboratories and universities have been for some time 
searching for smaller, faster, cheaper, more reliable, and easier to maintain 
computer components. Several of these components and their principles 
of operation are discussed briefly. 

CHARACTERISTICS OF A COMPONENT FOR 
COMPUTER LOGIC 

A component for computer logic may be based on almost any physical 
phenomenon. But regardless of the phenomenon utilized, to be able to 
be employed for storage or switching, the component must possess certain 
general characteristics. It must either delay the occurrence of a physical 
phenomenon, possess two distinct stable states, or allow one of two 
levels of a certain phenomenon to take place during any one set of 
conditions. 

An example of the delay type of component previously discussed is the 
electric delay line. Here a signal in the form of an electric wave is con¬ 
verted into an electromagnetic wave which travels down the line at a 
definite rate. At the end of the delay line the wave is converted back to its 
original form. Any other device which can delay any other phenomenon 
may be useful as a delay element. 

Examples of bistable devices previously used are many: relays, gas tubes, 
square-loop magnetic cores, and transistors. All these components are 
similar in the sense that they have two stable states, it is easy to enter one 
or the other of these states, and it is easy to recognize each state. Any 

209 
























210 BUILDING BLOCKS 

other component which possesses these qualities may be a useful storage 
or switching component. 

If we review carefully what has been said in previous chapters, we will 
realize that practically any storage component may be operated as a 
switching component. This is so because any storage component to be 
practical must be able to be read, and when it is read an output signal is 
produced. And a binary switching component is defined as a device 
which produces one output or another depending upon the conditions 
present. Thus a square-loop magnetic core is a storage device which may 
also be used as a switch. 

Examples of components which allow only one of two levels of a 
phenomenon to take place during any one set of conditions are the diode 
and the resistor. These components may be used only for switching, not 
for storage because they produce outputs only as long as input signals are 
applied. 

The binary switching device may be represented graphically as 



and the binary storage and switching devices may be represented as 
follows: 



The amplifier presents no special problem because many of the com¬ 
ponents investigated can be made to amplify sufficiently for use in machine 
logic. Components which are not able to amplify may be used with other 
standard amplifiers such as those using transistors. 


ACOUSTIC DELAY DEVICES 

Delay can be produced by several devices which transmit acoustic 
energy. Among such devices are: 

1. The mercury tank. 

2. Fused-quartz crystal. 

3. Magnetostrictive ferrite or nickel ribbon. 

Mercury Tank 

The mercury delay-line form of storage was used early in the develop¬ 
ment of computers. The mercury-tank delay line consists of a tank filled 
with mercury with a quartz crystal attached at each end. Signals consisting 
of an alternating wave for a one and no wave for a zero arc applied to the 


OTHER DEVICES 



quartz crystal at one end of the tank. The crystal converts the electric 
energy into mechanical vibrations which, in turn, cause acoustic waves to 
travel down the tank. After a definite period of time determined by the 
length of the tank and other parameters of the mercury, the acoustic 
vibrations impinge upon the second quartz crystal. The resultant mechani¬ 
cal vibrations cause the crystal to produce an electric wave. By amplifying 
this energy and feeding it back to the front crystal on the tank, the infor¬ 
mation may be kept recirculating. 


Input 



Output 



(b) 


Output 


Fig. 102. Acoustic storage, (a) Mercury delay-line storage, (b) Magnetostriction 


The mercury delay line may be used as a register if operated as indicated 
in Fig. 102 a. Information is allowed to enter the register if a read-in 
signal is applied. As soon as all the bits are in the delay line, the read-in 
signal is removed and the recirculation signal is applied to keep infor¬ 
mation recirculating through the amplifier and back to the tank input 
crystal. To remove information from the register, a read-out signal is 
applied for the length of time necessary to remove all pulses. 

Note that information may be read out and recirculated at the same 

time. In other words the mercury delay line possesses nondestructive 
read-out. 


Fused Quartz 

The fused-quartz delay acts in a manner similar to the operation of the 
mercury tank. Piezoelectric quartz crystals are mounted at the ends of a 






212 


BUILDING BLOCKS 


OTHER DEVICES 


213 


piece of fused quartz. One crystal converts electric waves into acoustic 
waves, and the other crystal converts the acoustic waves back into electric 
waves. With the fused quartz the acoustic waves take a definite amount 
of time to travel from one end to the other. Great delays have been 
achieved in a small volume by shaping the sides of the fused-quartz 
crystal so that the wave bounces back and forth many times and in many 
directions before striking the output crystal. 

Magnetostrictive Ferrite or Nickel Ribbon 

Delay may be produced by using the magnetostrictive property of 
certain materials such as ferrite or nickel. A magnetostrictive material is 
one which converts magnetic energy into a mechanical movement, and 
vice versa. A magnetostrictive delay line composed of two coils wound on 
a piece of ferrite or nickel ribbon is shown in Fig. 102 b. A pulse applied 
to the input coil produces a magnetic field which causes a mechanical 
deformation in the rod or ribbon. After a definite time, the mechanical 
deformation reaching the area within the output coil causes a change in 
magnetic field and thus induces a voltage in the output coil. This voltage 
may be amplified and fed back to the input coil to cause recirculation just 
as is done in the mercury delay line. 

BISTABLE DEVICES 

Superconductive 

Bistable devices may be formed of superconductive elements. A super¬ 
conductive element is one whose resistance is so low that it cannot be 
measured with present-day instruments when its temperature is brought 
below a certain critical point—which usually occurs at a temperature close 
to absolute zero. An interesting aspect of superconductive elements is 
that this threshold of superconductivity decreases with the strength of a 
magnetic field surrounding the element. Therefore, if the element is 
kept at a constant temperature, it can be made resistive with the application 
of a magnetic field and superconductive with the removal of the field. 

These principles form the basis for a bistable component called the 
cryotron (Fig. 103). The cryotron consists of a piece of hair-thin (0.009-in. 
diameter) tantalum wire surrounded by a control winding of even thinner 
(0.003-in. diameter) niobium wire. In an atmosphere cooled to 4.4° above 
absolute zero, both niobium and tantalum are superconductive. With 
no current applied to the control winding, the central niobium wire remains 
superconductive. With a current pulse applied to the control winding, the 



No input current 


(b) (d) 

Fig. 103. The cryotron, (a) Construction. ( b) Symbol, (c) Store zero, (d) Store one. 


magnetic field increases to the point where the central wire becomes 
resistive. The cryotron has been recently applied to switching and storage 
circuits in practical computers. 

If the presence of current flow indicates one and the absence of current 
flow zero, then the simple cryotron is a not circuit. A pulse of cur¬ 
rent representing A applied to the control winding shuts off the flow of 
current through the central wire to produce A (Fig. 104 a). The cryotron 
is thus similar in operation to the normally closed relay. 

By connecting the central wires of several cryotrons in series (Fig. 1046) 
with a voltage source, an inverted or circuit is produced. A pulse of 
current applied to any one of the control windings causes the associated 
central wire to become resistive and to impede the flow of current through 
the central line. 

By connecting the central lines of several cryotrons in parallel with a 
voltage source (Fig. 104c), an inverted and circuit is produced. A pulse 
of current applied to only one control winding makes its associated central 
winding resistive; but current flows freely through the central windings 
of the other cryotrons. Only when pulses are applied to all the control 
windings is there no current flow through the cryotrons. 

Figure 105 shows a full binary adder built of cryotron switches. The 
eight vertical lines, each connecting the central wires of three cryotrons, 
are eight and circuits. The inputs to these and circuits are either A or A, 
B or 5, C or C. Note that the same signals are applied to several control 
windings by connecting them in series. Remembering that 

A + /I + C ® 5* T 
















214 


BUILDING BLOCKS 



A + B + C = 0 
(b) 


Fig. 104. Cryotron switching circuits, (a) not. (b) inverted or. (c) inverted and. 

we see that the eight and circuits produce the following eight terms: 

A- B-C A- B-C 

A-B- C A-B-C 

A- B - C A- B- C 

A-B-C A-B-C 

Each of these signals is then fed to the control winding of a cryotron in 
the sum circuit and to the control winding of a cryotron in the carry 
circuit. Each sum and carry circuit consists of two 4-input inverted or 
circuits, one producing a one, the other producing a zero. 

The operation of this adder can be readily seen by tracing currents 
through the circuit when A = B = C = 1. Under these circumstances, 
current flows through the three bold, horizontal lines linking the eight 
inverted or circuits, causing the clear cryotrons to become resistive. Only 
the right-hand vertical line conducts to produce A - B - C. This current 
flows through the two right-hand control windings in the sum and carry 
circuits, causing these two cryotrons to become resistive. This means that 


OTHER DEVICES 


215 



S = A'B-C + A-B C + A-B-C + A B-C □□ Resistive 


= A-B-C + A-B-C + A-B-C + A-B-C 


lH Superconductive 


C = A-S-C + A-B-C + A-B-C + A-B-C 


= A-B-C + A-B-C+ A-B-C+ A-B-C 


Fig. 105. Cryotron binary adder. 


current can flow only through the one output lines of the sum and carry 
circuits. 

By connecting the central wire of one cryotron to the control winding 
of the first, a flip-flop is produced. C/?l and CR2 in Fig. 106 represent 
this flip-flop. If current flows through the control winding of CR2, this 
cryotron is resistive and thus prevents current from flowing through the 










216 


BUILDING BLOCKS 



Fig. 106. Cryotron flip-flop in one state. 


control winding of CR 1. The central wire of CRl therefore conducts and 
keeps the control winding of CR2 conducting. 

A pulse of current fed to the central wire of CR\ sends current to the 
control winding of CRl. This tends to make CRl resistive. The more 
resistive CRl becomes the less current flows through the control winding 
of CRl. This, in turn, makes CRl conduct more. The effect is cumulative. 
CRl flips to the superconductive state and CRl to the resistive state. A 
pulse of current fed to the central wire of CRl can flip the circuit back to 
its original state. When CRl is superconductive and CRl resistive, the 
flip-flop is storing zero. When CRl is superconductive and CRl resistive, 
the flip-flop is storing one. 

Cryotrons CRl and CR4 are the input circuit to which the set and reset 
pulses are applied. A set pulse applied to the control winding of CRl 
makes CRl resistive; therefore current flows through the central wire of 
CR4 to CRl and to the control winding of CRl. CRl is thus made super¬ 
conductive and CRl resistive. A reset pulse applied to the control winding 
of CR4 makes CR4 resistive. The current therefore flows through CRl 
to CRl and to the control winding of CRl. CRl is thus superconductive 
and CRl resistive. 

The output circuit consists of CR5 and CR6. When the flip-flop is 
storing one, CRl is superconductive, sending current to the control 
winding of CRl. This control winding is in series with the CR5 control 
winding, making CR5 resistive. No current flows through the zero 
output line. Since no current flows through the CRl and CR6 control 
windings, CR6 is superconductive, producing current at the one output 
line. Similarly, when the flip-flop is in the reset state, CR6 is resistive and 
CR5 conductive, producing current flow in the zero output line and no 
current flow in the one output line. 



OTHER DEVICES 217 

Several wires may be run through a control winding in a scheme to 
produce a decoder. One such cryotron decoder capable of decoding three 
bits into eight outputs is shown in Fig. 107. Each of the eight central 
wires is fed through a different combination of control windings. Each 
input bit is fed to one or the other of a pair of control windings depending 
upon whether the bit is one or zero. The cryotrons whose control windings 
receive current become resistive. The result is that the path through one 
of the lines is entirely superconductive. In the illustration, 101 is fed to 
the decoder, making the cross-hatched cryotrons superconductive. The 
result is that line 5 is chosen. 



Fig. 107. Cryotron decoder. 


The cryotron is capable of amplification because a signal applied to the 
control winding may cause a greater flow of current through the central 
wire that is fed from a different power source. 

The superconductive component possesses several important advantages. 
It is tiny in volume, polarity of current flow is unimportant, and it con¬ 
sumes a minute amount of power because of the lack of resistance in 
superconductive elements. The main drawback to the widespread use of 
superconductive components has been the need for refrigeration. But 
recently, a device capable of maintaining the necessary cold temperatures 
has been developed. The device, called a cryostat, produces and maintains 
helium liquid for an indefinite period of time. A versatile digital computer 
using cryotrons has been built within a volume of only one cubic foot, 



218 BUILDING BLOCKS 

complete with cryostat. By using a printed-circuit technique to etch onto 
an insulator base the central conductor and the control winding (as an 
adjacent conductor), it is expected that the volume may eventually be 
made small enough so that the computer may be carried about in a vest 
pocket. 


Ferroelectric 

The magnetic induction of the core of the ordinary transformer varies 
with the current applied to one of the windings. If the core is made of 


Conductor 




Input 


Conductor 


(a) 


Dielectric 
(barium titanate) 


R l Output 


(b) 


Positive 

remanence 

Electric 

polarization 


Negative 
saturation D 



A _Positive 
saturation 


Voltage 


Negative 
remanence 


















_ / 



1 1 1 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

7 

1 1 



— 










— 

/ 












7 leads 
across 
bottom 


7 leads 
across top 


(c) 


(d) 


Fig. 108. Ferroelectric storage, (a) Ferroelectric capacitor, (b) Storage cell, (c 
Electric hysteresis loop, (d) Coincident electric storage. 


material such as ferrite, the magnetic-induction-applied-current curve is a 
square loop. Similarly, the polarization of certain dielectrics sandwiched 
between two conductors of a capacitor varies with the voltage applied 
across the plates. If the dielectric is made of a material such as barium 
titanate, the polarization-applied voltage characteristic is a square loop, 
as shown in Fig. 108c. 

Materials such as barium titanate which possess this square electric 
hysteresis loop are called ferroelectric because of the similarity of these 
hysteresis loops to those of their magnetic counterparts. 



OTHER DEVICES 219 

A ferroelectric capacitor and a ferroelectric bistable storage circuit are 
shown in Figs. 108a and b. A positive pulse applied to the ferroelectric 
capacitor brings the electric polarization up to the positive saturation area. 
When the pulse is removed, the polarization falls slightly to the positive 
remanence point; it is storing one. If a negative pulse of sufficient 
amplitude is now applied to the ferroelectric capacitor, the capacitor 
flips states—changes polarity—and brings the electric polarization to the 
negative saturation region. As soon as the electric pulse is removed, the 
dielectric falls to the negative remanence point; it is now storing zero. 

Reading is accomplished by applying a negative pulse across the ferro¬ 
electric capacitor. If the ferroelectric was storing a zero, the electric 
polarization varies between C and D\ when the pulse is removed, the 
polarization falls back to C. With such a small change in electric polari¬ 
zation, little current flows in the output, and negligible voltage is produced 
across the load resistor R L . If the ferroelectric was storing a one, the 
ferroelectric flips from B to D and then falls slightly to C; in the process, 
lots of current flows through the load to produce a large output voltage 
across R L . 

Small areas in a ferroelectric crystal may be polarized electrically 
independent of the polarization of adjacent areas. This means that many 
bits may be stored in one large crystal of barium titanate. Figure 108d 
indicates a coincident electric storage device capable of storing 49 bits. 
It consists of a large crystal of barium titanate. Seven strips of metal 
are attached horizontally across the bottom face of the crystal. Seven 
other strips of metal are attached vertically across the top face of the 
crystal. The 49 spots in the crystal which are sandwiched between two 
conductors represent separate storage cells. When half-voltages—similar 
to half-currents in the coincident-current arrays—are applied to a vertical 
and to a horizontal strip, only the one cell where coincidence of voltage 
occurs receives enough voltage to flip to the one state. Read-out is 
accomplished by flipping the chosen cell to the zero state. 

Electro-optical 

Binary information may be stored on a piece of film in the form of 
light areas for one’s and dark areas for zero’s. The film may be written 
onto by allowing light to fall on the film through a mask. Those film 
areas exposed to light become dark and those not exposed remain clear. 

Reading may be accomplished by shining light through the film. Beams 
of light pass through the clear areas but not through the dark areas. 
Figure 109 shows a simple method for reading the film. It consists of a 
group of neons, a lens system, the film, and a group of photocells. When 
one of the neons is lit, the beam of light is directed by the lens system 


220 


BUILDING BLOCKS 



Photocells 

Fig. 109. Photographic storage. 

across one of the lines on the film. Light passes through clear areas and 
is stopped by opaque areas on the film. Photocells associated with clear 
areas are activated; photocells associated with dark areas are not activated. 
In the illustration the combination 0110 is being read off the film. 

The film may be pasted onto the periphery of a transparent drum with 
a source of light on the inside to choose the areas to be illumined, and a 
group of photocells on the outside to pick up the information. The film 
may also be coated on a glass disk. Here the black and white spots are 
recorded in annular rings. The optical drumanddiskarecounterpartstothe 
magnetic drum and disk. 

An important advantage of film as a storage device is that both words 
and coded information may be recorded on the same piece of film. Another 
important advantage of film is the great density of information storage 
possible. By making each of the effective storage cells 0.001 in. by 
0.003 in., over 300,000 bits may be stored on a 1-in. 2 piece of film. If we 
assume there are five bits to a character, this is equivalent to 50,(XK) 



OTHER DEVICES 



characters. With such density the entire contents of the Library of Con¬ 
gress may be recorded on film which would occupy only one drawer of 
an ordinary filing cabinet—with lots of room to spare. On the other hand, 
film has the disadvantage of being nonerasable. The only way infor¬ 
mation may be changed is by exposing new film. 

Another electro-optical storage device consists of a tube with a photo¬ 
cathode and a phosphor anode. The photocathode consists of silver- 
oxygen-caesium; when irradiated with light, it emits electrons. The 
phosphor anode consists of a manganese-activated zinc-silicate-phosphor 
screen; when electrons hit its surface, it emits light. The tube operates as 



Weak-store one 
Strong-store zero 




Fig. NO. Electro-optical binary storage cell. 

follows. When a pulse of light strikes the photocathode, the photocathode 
emits electrons which are attracted to the phosphor anode if the anode 
potential is positive. Electrons striking the anode cause it to emit light 

which is fed back to the photocathode to keep it emitting electrons. This 

& 

light emission and conduction is the stable state representing one. If the 
potential between photocathode and phosphor anode is reduced, con¬ 
duction and light emission stop to put the device in the zero state. 

Fortunately, the device may be flipped from one state to the other 
purely by means of applied light pulses if the device is connected as shown 
in Fig. 110. A weak pulse of light applied to the tube causes the photo- 
cathode to emit electrons which, in turn, cause the anode to emit light. 
This light increases photocathode current which, in turn, increases 
phosphor-anode light. The circuit stabilizes at the one state. 

A strong pulse of light applied to the tube flips the device back to the 
zero state. The strong pulse of light causes the phosphor anode to conduct 
heavily. The heavy current flow produces such a great voltage drop 


222 


BUILDING BLOCKS 


OTHER DEVICES 


223 


across the load that the potential between photocathode and phosphor 
anode falls below the value necessary to maintain conduction. Both 
conduction and light emission fall. 

Another device recently developed is the light amplifier. The light 
amplifier can increase the energy present in a light signal just as an elec¬ 
tronic amplifier can increase the energy in an electric signal. A simplified 
sketch of a basic light amplifier is shown in Fig. 111. It consists of photo- 
conductive and electroluminescent layers sandwiched between pieces of 
glass. An alternating voltage is applied across the two layers. Light is 



Fig. III. Light amplifier. 

applied to the photoconductive layer. The greater the light, the lower the 
impedance of the photoconductive layer and, therefore, the greater the 
alternating current flowing through it and through the electroluminescent 
layer. The greater the current flowing through the electroluminescent 
layer, the more light it emits. The device amplifies; the extra power for 
the amplified light comes from the a-c/source. 

The photocathode-phosphor-anode tube, photographic storage, and 
light amplifier may be teamed up in the future to produce a new kind of 
computer where information flows from point to point, not by means of 
wires but through the air by means of light waves! 


Chemical 

A bistable element may be simulated chemically. There are dyes which 
are dark when subjected to short-wave blue light and colorless when subjec¬ 
ted to longer-wave yellow light. The dark state may be called the one state 
and the colorless state may be called the zero state. Recently a method 
has been devised for enclosing tiny bundles of this liquid dye—as small 
as a millionth of an inch—in capsules which may be painted onto paper. 

Writing may be accomplished by scanning the “bubble-painted” paper 
with light alternating between shorter and longer wavelengths according 
to the pattern of one’s and zero’s we want to store. Reading may be 
accomplished by scanning the paper with a light-sensitive cell. 

Experimentation is also going on to find dyes which react in a bistable 
manner to infrared and other invisible waves. 

Microwave 

Transistor logical- building blocks have been built which operate 
10,000,000 times and more a second. Recently, transistor components 
have been announced which can operate in the frequency range of hundreds 
and even thousands of megacycles; and building blocks which can operate 
even faster are soon to come. The microwave region will be entered and 
many of the techniques presently used on radar equipment are going to be 
adapted to digital computers. 

It is difficult to visualize a switching device which can turn on and off* 
at a 10,000-megacycle rate. Probably the computer of the future will use 
a microwave carrier which is flipped toward one frequency to represent 
a one, and toward another frequency to represent a zero. 


MULTISTABLE DEVICES 

Several devices capable of having more than two stable states have 
been developed. Many of these devices are decade counters operating on 
magnetic or electrostatic principles. One electrostatic type of beam- 
deflection decade counter is discussed in the following. 

The electrostatic decade counter (Fig. 112) consists of an electron gun, 
a set of deflection plates, a slotted screen, an anode, and a reset electrode. 
A highly positive B+ is applied through a load resistor ( R L ) to the anode. 
Because of this high potential, negative electrons shot from the electron 
gun are attracted to the anode. The high positive potential is also applied 
to the right deflection plate. Therefore the electron beam is deflected 
toward the extreme right. 

As soon as electrons strike the anode, current flows through R L to 


224 


BUILDING BLOCKS 


OTHER DEVICES 


225 



produce a voltage drop which makes the right deflection plate more 
negative. The lowered deflection plate potential tends to move the 
electron beam toward the left until the electrons strike the screen. Since 
the screen is now diverting some of the current flow, the potential on the 
deflection plate remains steady and the beam strikes the anode at the 
point shown in the illustration. 

The tube remains in this stable state until a positive pulse is applied to 
the left deflection plate. The fast positive pulse pulls the electron beam 
over so it travels through the first right-hand slot in the screen. Again, 
current flowing through R L produces a potential on the right deflection 
plate, tending to move the beam to the right again. So the beam remains 
at its second stable point. 

Successive positive pulses pull the electron beam to succeeding screen 
slots until the tenth pulse arrives. The tenth pulse causes electrons to 
strike the reset electrode. Current flowing through resistor R s produces a 
negative pulse. This pulse triggers a multivibrator which applies a 
negative pulse to the control grid of the electron gun to shut off* the beam 
of electrons. There being no anode current, no potential drop is produced 
across R Li thus raising the right deflection plate potential to B+. Upon 


completion of the negative multivibrator pulse, the electron gun turns on, 
and the beam is deflected to the extreme right in position for a new 
counting sequence. 

SUMMARY 

1. A component for computer logic may possess one of the following character¬ 
istics: 

a. Ability to delay a physical phenomenon. 

b. Ability to enter, remain, and be recognized in two or more stable states. 

c. Ability to develop at least two different output signals which are dis¬ 
tinguishable from each other. 

2. In most components discussed in previous chapters, the variable is either 
voltage, current, or impedance. These variables are changed by modifying one 
of the following phenomena: 

a. Electrostatic field—vacuum tubes, cathode-ray tube. 

b. Magnetic field—relay, magnetic core. 

c. Semiconductor action—germanium diode, transistor. 

3. Delay-type action may be achieved by converting electric waves to acoustic 
waves which take a definite amount of time to travel through a mercury tank, a 
piece of fused quartz, or through a ribbon of nickel. The electric waves are 
converted to acoustic waves, and vice versa, by means of: 

a. Piezoelectricity—quartz crystal. 

b. Magnetostriction—nickel ribbon. 

4 . Bistable action may be achieved by the utilization of the following pheno¬ 
mena: 

a. Superconductivity —A tiny wire of tantalum has almost zero resistance at 
temperatures close to absolute zero; when a magnetic field is applied, the 
tantalum becomes resistive. The cryotrons must be stored inside a refri¬ 
geration unit which usually takes the form of a helium liquifier. 

b. Ferroelectricity—A piece of barium titanate crystal may be electrically 
polarized in the positive direction or in the negative direction. The crystal 
possesses a square electric hysteresis loop analogous to the square magnetic 
hysteresis loop of the magnetic core. 

c. Electro-optics —Dark and light areas on film may represent one’s and 
zero’s which may be read by means of light-photocell arrangements. The 
film may be placed on drums and disks. Another electro-optical binary 
storage device consists of a photocathode and phosphor anode in a tube. 
The photocathode converts light to current, and the phosphor anode 
converts current to light. A beam of light indicates one, and no light 
indicates zero. 

d. Chemistry —Some dyes are capable of being dark when irradiated with 
light of one frequency, and colorless when irradiated with light of another 
frequency. 

c. Microwave transmission —Bistability may be achieved by building devices 
which may hold one frequency or another. 

5 . Decade counters have been built which deflect an electron beam by means 
of electrostatic or electromagnetic fields through ten stable states. These devices 
at present arc used mainly for counting. 




LOGICAL AND FUNCTIONAL BLOCKS 


227 


CHAPTER 10 

Logical and functional 
building blocks 


From an analysis of the fundamental requirements of machine logic, 
we have developed logical blocks. The actual forms the logical building 
blocks take in practice, depend on the types of components from which 
they are built. Nevertheless, once the circuitry of the logical building 
blocks is decided, little attention need be paid to the electronics. The 
logical building blocks themselves may be interconnected to form func¬ 
tional building blocks—blocks which produce the many functions a 
computer must perform. The complete computer may then be described 
by relating functional building blocks. 


LOGICAL BUILDING BLOCKS 

Several logical blocks follow directly from the rules of machine logic. 
These are shown in Fig. 113. 

The flip-flop is a complicated form of the storage cell. It is considered 
to be a fundamental block because it is commonly used in basic ways 
throughout a digital computer. 

These fundamental logical building blocks may be combined to produce 
other blocks which are in fairly common usage. Two of these building 
blocks are the binary comparator and the half-adder. 

When converting theoretical logic into practical logic, a modular 
approach is often followed to facilitate building and maintaining the 
computer. Components are arranged on plug-in units in such a fashion 
that with a minimum of wiring almost any logical configuration may be 
easily obtained. This technique is best if only a small number of dif¬ 
ferent types of plug-in units is needed and if the units may be easily 
replaced. 

226 






INHIBIT 



INVERTED OR 



INVERTED AND 



Storage cell 


Flip-flop 



s 

1 

R 

0 


Amplifier 



Inverting amplifier 



Delay 



Fig. 113. Fundamental logical building blocks. 


An example of such a plug-in unit is shown in Fig. 114. It is a printed- 
circuit board storing several transistor and and or circuits. It consists of 
a phenolic board upon which are mounted resistors, diodes, and transistors 



Fig. 114. Printcd-circuit Hoard storing transistor and and or circuits. 



























228 BUILDING BLOCKS 

connected together into and and or circuits by means of printed wiring. 
Inputs to and outputs from these circuits are connected by printed 
wiring to the terminals at the lower end of the board; these terminals 
mate with an associated connector. 


FUNCTIONAL BUILDING BLOCKS 

Many different functions are performed by a typical digital computer. 
All prominent functions may be classed under one of seven categories; 
and probably most of the unusual functions of special computers may 
also so be classed. The seven functional categories are as follows: 

1. Gates. 

2. Registers. 

3. Counters. 

4. Selectors. 

5. Generators. 

6 . Detectors. 

7. Comparators and adders. 

Each of the typical functional building blocks is discussed in the following. 

Gates 

A gate is a simple switching circuit which allows information to flow 
through if certain signals are present, and which prevents information from 
flowing through if other signals are present. A gate thus establishes 
conditions under which numbers, control signals, and other meaningful 
signals may be applied to other functional building blocks in the computer. 

Registers 

Registers are temporary storage devices. Information is applied to 
registers through read-in gates; information is removed from registers 
through read-out gates. The read-in and read-out gates are usually 
considered to be part of the register. They are drawn separately, however, 
in order to show better the information flow. 

Registers may be used for one of two purposes: storing words before 
and after they are combined arithmetically, and as buffers. When used 
for the former purpose, they are called arithmetic registers. Arithmetic 
registers must be capable of accepting numbers and applying them at 
appropriate times to an adder. They must also be capable of shifting, a 
process which is very important in multiplication, division, and square 
root. 


LOGICAL AND FUNCTIONAL BLOCKS 229 

A buffer is a register which ties together two systems operating at 
different speeds, or which handles their information bits differently. A 
speed adjusting buffer is shown in Fig. 115a. Bits are fed serially into the 



Output 


(a) 


Parallel outputs 




Parallel inputs 
(c) 


Fig. 115. The buffer register, (a) Change-speed-of-information flow, (b) Serial-to- 
parallel flow, (c) Parallel-to-serial flow. 


register from an outside device whenever a read-in signal is present on 
the read-in gate. With each bit is applied a timing pulse which shifts the 
bits from cell to cell in the register. After the information is stored in the 
register, clock pulses (CP) may be applied to shift the bits from cell to cell 
while the read-out signal allows shifted bits to leave the register. 














230 BUILDING BLOCKS 

The input information may be applied at a slow rate, at a fast rate, or 
even in a random manner. Once the information is present in the register, 
it can be read out at a different rate as determined by the CP. 

A buffer register may be used to convert a group of bits following each 
other serially in time to a group of bits all occurring simultaneously—in 
parallel. A register which does this is shown in Fig. 1156. A serial read-in 
pulse allows information to be applied to the input bit by bit. With each 
bit is applied a CP to shift the bits from cell to cell in the register. Once 
the register is full, a parallel read-out pulse is applied to the output gates 
and all the bits are read out at the same time. 

Similarly, the buffer register may be used to convert a group of signals 
applied in parallel to a group of signals following each other serially in 
time, as shown in Fig. 115c. A parallel read-in pulse applied to all the 
input gates allows the bits to be read into the respective storage cells. 
Once the bits are in the register, CP may be applied to shift the bits from 
cell to cell; and a serial read-out pulse allows the bit to leave the register. 

Counters 

The following types of counters have been discussed: 

1. Ring. 

2. Modulus. 

3. Forward counting. 

4. Backward counting. 

The ring counter alternately activates one of a series of elements in a 
closed ring and, thus, is similar in operation to a commutator. It is useful 
when choosing items in a definite sequence. The modulus counter pro¬ 
duces an output pulse after a definite number of input pulses have been 
applied. It is useful for signifying the end of an operation which always 
consists of a definite number of steps. 

One of the most useful types of counters is the forward-counting binary 
or decimal counter. In many computers a binary or decimal counter is 
used as an arithmetic register: the augend is placed in the counter, and 
then the counter is made to count forward by the amount given by 
another register. A forward-counting counter is also used to sequence 
operations in a machine. Ordinarily the counter is cleared to zero before 
starting an operation. But it need not be. The counter may be set at any 
number desired, thus modifying the counting as required. 

A backward-counting counter is useful for signifying the end of an 
operation where the number of steps in the operation is variable. The 
number signifying the number of steps required is fed to the counter. 
Upon completion of each step, a pulse is applied to the counter to reduce 


LOGICAL AND FUNCTIONAL BLOCKS 231 

its reading by one. After the required number of steps is performed, the 
counter reaches zero and produces a pulse signifying the end of the 
operation. Such a backward-counting counter is in common use for 
counting the number of shifts performed by an arithmetic register. 

Selectors 

A selector is a circuit which chooses a certain location in a storage 
device, or the performance of a certain function. The selection may occur 
in space or in time. When performed in space, the selector usually takes 



Fig. 116. The 2’s complement generator. 

the form of a translator: an encoder or decoder. The translator translates 
an applied code into a signal or group of signals which then perform the 
selection. 

Selection in time may be performed by a sequencer. The sequencer may 
take the form of a ring counter. Each time another element in the ring 
flips states, another operation may be begun. Or the sequencer may take 
the form of a timing-pulse generator where each timing pulse activates 
another operation. Selectors of both kinds are in common use for sequenc¬ 
ing computer operations. 

Generators 

A generator is a circuit which takes an input or a series of inputs and 
converts it to a new bit combination which possesses a certain significance. 
For instance, a complement generator generates the complement of a 
number applied to it. A parity-check bit generator generates one or zero 
depending on whether the sum of the one’s is even or odd. 

An example of a 2’s complement generator for the situation where the 
bits are applied sequentially in time is shown in Fig. 116. This generator 
produces the 2’s complement by following this procedure: 




232 BUILDING BLOCKS 

Inspect each bit in turn, starting with the least significant bit. Do not 
change all zeros to the left of the first significant bit and the first 
significant bit. Change remaining one’s to zero’s and zero’s to one’s. 

The circuit works as follows. The flip-flop is first cleared to zero, thus 
making the lower input to the binary comparator zero. The bits of the 
number are applied to the other input to the binary comparator. If the 
bit is zero, a zero appears at the output. When the first one appears, 
a one appears at the output. It also sets the flip-flop to one and thus keeps 
a one at the lower input to the comparator. If the following input bit 
is a one, the two one’s at the comparator produce a zero output. If a 
following bit is a zero, the one and zero combination produces a one 
output. The output is therefore the 2’s complement of the input. 

Other generators are the clock-pulse generator and the timing-pulse 
generator. The clock-pulse generator may be an electronic oscillator 
producing pulses at a steady rate. The timing-pulse generator is different 
from the clock-pulse generator in that its output pulses are labeled with 
reference to a point in a time cycle. 

It seems that the timing-pulse generator may be considered either a 
generator or a selector. As a generator its function is general; it produces 
pulses which may time many different portions of the computer. As a 
selector it is used for sequencing. 

Detectors 

The inverse of a generator is a detector. The detector detects bit repre¬ 
sentations and produces a pulse which causes some operation to be per¬ 
formed. An example of a detector is an end-block detector. Information 
is stored on magnetic tape in blocks, each block ending with an end-block 
symbol (EB). When reading from the tape into the machine, the EB 
symbol informs the machine that the last symbol of the block has been 
read. 

The EB symbol may be one of the forbidden bit combinations. A 
simple and circuit may be activated when this combination is present. 
The resultant output of the and circuit is the detector output. 

Another type of detector is the forbidden-combination detector which 
is used for checking. 

Comparison and Adder Circuits 

A comparison circuit is one which compares two or more input signals 
or groups of signals and produces an output according to the result of the 
comparison. A binary comparator is a simple example. The binary 


LOGICAL AND FUNCTIONAL BLOCKS 233 

comparator compares two bits: if they are alike, it produces a zero, if 
they are unlike it produces a one. The principle may be extended to 
compare two binary numbers consisting of any number of bits. 

Another comparison circuit—although it is not usually called that—is 
the adder. A half-adder compares two bits and produces a sum or carry 
or any combination of sum and carry according to the results of the 
comparison. A binary adder does the same job with three bits; it performs 
a 3-way comparison among augend, addend, and previous carry bits. 
The principle of the binary adder may be extended to compare numbers 
containing many bits, and to binary-coded numbers. 

Comparators are also used for checking. The same arithmetic operation 
may be performed by two separate adders. The results are then compared 
in a comparator. If the two are alike, a signal is produced which allows 
the computer to continue its work. If the two sums are unlike, the 
computer stops and a light goes on indicating an arithmetic error. 

There may be some overlapping of classes. For instance, the binary 
comparator is used as a block in the 2’s complement generator. But the 
classification presented here does help categorize functions performed in 
the computer. 


section III 


FUNCTIONAL UNITS OF 
A DIGITAL COMPUTER 


In this section the logical and functional building blocks developed in 
the last section are combined into the five functional units of a typical 
computer: memory, input, output, arithmetic, and control. Each of these 
functional units is discussed in detail in a separate chapter, except for 
input and output. The last two are discussed in one chapter because of 
their fundamental similarities. 

By way of introduction into the functional description of computers 
and their components, the first chapter of this section describes practical 
machine language. After all the functional units are described, all the 
pieces are combined into a specimen computer in the last chapter. This 
specimen machine is described in enough detail to provide an integrated 
picture of a digital computer. The last chapter includes a brief discussion 
of operation, programming, and maintenance of the specimen computer. 



CHAPTER II 


Machine language 


A digital computer is composed of five functional units, each performing 
its own function. A machine language is needed for each functional unit 
to communicate with the others. This same language is required by man to 
instruct the machine what to do. Man translates his problems into machine 
language by means of a program of instructions. 


LANGUAGE STRUCTURE 

The language structure of a digital computer is fairly simple. Bits are 
encoded into digits or characters which are, in turn, encoded into words. 
There are two kinds of words: the instruction word and the data word. 
The instruction word is active. It operates upon the passive data word. 
A group of instruction words forms a program. 

Instruction Word 

In general, the instruction word consists of two parts: the command 
portion and the address portion. The command specifies the operation 
to be performed by the machine. The address portion specifies the 
location where the operand or operands are stored. 

Most of the operations of the computer are performed in the arithmetic 
unit. The command portion of the instruction causes the arithmetic unit 
to perform addition, subtraction, multiplication, division, square root; 
or to bring operands into the arithmetic unit; or to remove results from 
the arithmetic unit. Some commands rearrange the information stored in 
the arithmetic registers. Other commands allow the computer to choose 
among different sets of instructions according to some criterion such as 
whether the result of a previous operation is positive or negative. 

The other part of the instruction word is the address. Instruction 
codes differ significantly according to the number of addresses specified 

237 




238 FUNCTIONAL UNITS 

by the instruction. One-, two-, three-, and four-address instructions have 
been used in digital computers. These instruction codes are described in 
the following. 

O ne-address instruction. When only one address is specified, the 
machine executes the given command upon the operand found in the 
location specified by the address. Since most arithmetic operations 
require at least two operands—augend and addend, multiplicand and 
multiplier—the computer must be built so that one operand is brought 
into the arithmetic unit during one instruction, and the other operand is 
brought into the arithmetic unit during the following instruction; during 
the second instruction the arithmetic operation is performed. The sequenc¬ 
ing of the instruction words in the program is performed by a program 
counter. As soon as one instruction is completed, the program counter 
is advanced by one. The new reading of the program counter specifies the 
address of the next instruction to be executed. The machine thus auto¬ 
matically chooses instructions stored in successive memory locations. 

Two-address instruction. The two-address instruction consists of 
a command, an address specifying the operand, and an address specifying 
the location of the next instruction word to be executed. The two-address 
machine does not need a program counter. 

Three-address instruction. The three-address instruction consists of 
a command and three addresses. The first two addresses specify two 
operands; the third address specifies the location in memory where the 
result should be stored. Machines using the three-address instruction 
need a program counter to sequence instructions in the program. 

Four-address instruction. The four-address instruction has a com¬ 
mand and four addresses. The first two addresses specify two operands. 
The third address specifies the location of the result. The fourth address 
indicates the location of the next instruction to be executed. Machines 
using the four-address instruction need no program counter. 

The above descriptions are true for the majority of computers. However, 
computers have been built which interpret their address codes differently. 

Data Word 

The data word is the operand. It may be given in binary or in coded- 
decimal form. It may be given in integral or fractional form. When 
integral numbers are specified, the decimal point is assumed to be located 
to the right of the LSD. When fractional numbers are specified, the 
decimal point is assumed to be to the left of the MSD. 

If the size of the data word is fixed, then there is a definite range of 
numbers. If there are ten decimal digits to a word in integral form, the 
number range is between 0 and 9,999,999,999. If the number is given in 



MACHINE LANGUAGE 


239 


fractional form, the range of numbers is between 0 and 1 regardless of the 
number of digits per data word. 

The sign of a data word may be specified by a digit, a 1 representing a 
minus sign and a 0 representing a positive sign. In an integral number 
system consisting of plus and minus numbers of ten decimal digits plus sign 
digit, the number range is —9999999999 to +9999999999. In a fractional 
number system of equivalent digits, the number range is —.9999999999 to 
+ .9999999999. A computer designating data words in this way is con¬ 
sidered to specify them in absolute value plus sign form. 

Data words may also be written in complement form. A decimal 
computer may specify them in 9’s complement form: each negative 
number is replaced by the 9’s complement and each positive number is 
unchanged. The number range of a fractional computer in this system is: 


ABSOLUTE VALUE FORM COMPLEMENT FORM 

-.9,999,999,999 = 1.0000000000 
0000000000 = 0.0000000000 
+ .9,999,999,999 = 0.9999999999 


Here a 0 to the left of the MSD indicates a positive number and a 1 to the 
left of the MSD indicates a negative number in complement form. 

Computers handling digits with the decimal or binary point assumed to 
be on the left end or at the right end are called fixed-point computers. 
Computers using the significant digits multiplied by a base to an exponent 
are called floating-point computers. A data word in a floating point 
computer is composed of two parts: the mantissa and the characteristic. 
The mantissa consists of a group of significant digits with the decimal point 
to the left of the MSD. The characteristic specifies the exponent. The base 
is not recorded; it is understood that the base is 10 in a decimal machine, 
and 2 in a binary machine. 

To distinguish between minus and positive exponents, the following 
characteristic encoding system may be used in decimal machines. An 
exponent of 0 is encoded as 50. Positive exponents are encoded as numbers 
above 50; negative exponents are encoded as numbers below 50. 

In a 10-digit data word the eight most significant digits may be used for 
the mantissa and the two least significant digits for the characteristic. 

The following are several examples of floating-point representation of 

data words: ~ . 

Floating Point 


Fixed Point 

Exponent Form 

Mantissa 

Characteristic 

54000000 

.54 x 10 8 

54000000 

58 

.0000000843 

.843 x 10" 7 

84300000 

43 

360743000000 

.360743 x 10 la 

36074300 

62 


240 FUNCTIONAL UNITS 

Obviously, the arithmetic unit for the floating-point machine is different 
from the arithmetic unit required for a fixed-point machine. In the 
floating-point machine one register is required for handling the mantissa 
and another register is required for the characteristic. 

Word Size 

Computer words come in different sizes depending upon the following 
factors: 

1. Complexity of the Instruction. 

2. Precision required in data word. 

The complexity of the instruction depends, in turn, upon the following: 

1. Variety of possible commands. 

2. Capacity of memory. 

3. Type of instruction code. 

The greater the number of possible commands, the greater the number of 
bits or digits required to encode them. Sixteen commands may be obtained 
with four bits; 32 commands with five bits. Ten commands may be 
obtained with one digit; 100 commands with two digits. The greater the 
capacity of the memory, the greater the number of bits or digits required to 
encode all the addresses. Four digits are required to provide a different 
address for each location in a 10,000-word memory. Everything else being 
equal, it obviously requires many more digits to encode a four-address 
instruction than a one-address instruction. 

Precision determines the size of data word required. The greater the 
number of significant digits in a data word, the more precise the word. 
The number 12347563 is obviously more precise than the number 12340000 
(if the four right-hand zeros are not significant). The first may be stored as 
is in a computer possessing 8-digit data words. The four most significant 
digits of the second may be stored in a computer possessing 4-digit data 
words, provided the programmer records the fact that the four zeros are 
excluded. 

From the point of view of mechanization, it is best to have the instruction 
word and data word of the same size. The size of computer words is thus 
usually arrived at by a compromise of the precision requirements of data 
words against the complexity of instruction words. 

For instance if precision requires six digits be used for the data word, the 
instruction word may be composed of two command digits and four 
address digits in a one-address instruction code. This means that I(X) 
commands may be encoded, and that the memory may have a capacity of 



MACHINE LANGUAGE 241 

10,000 words. If essentially the same machine is required to handle data 
words of seven digits, the instruction word could be made seven digits long 
too, with one digit space not being used. This is not too wasteful. But if 
the same machine must be built to handle data words 12 digits long, it is 
obviously very wasteful to make the instruction word 12 digits long too. 
This problem may be neatly solved by combining two 6-digit instructions 
into one instruction word of 12 digits. The machine must be built to 
execute each half of the instruction word in turn. 

There are occasions when, instead of combining two instructions into 
one word, we may use two words to store one instruction. Suppose the 
required precision is obtainable from a 6-digit data word. And suppose 
the memory has a capacity of 100,000 words, a two-address instruction is 
wanted, and 50 commands are needed. From this data we arrive at the 
conclusion that 12 digits are needed to encode an instruction: 2 for the 
command, 5 for the first address, 5 for the second address. An instruction 
may be encoded in two 6-digit instruction words as follows: 

FIRST WORD SECOND WORD 

Command (MSD) First Address Command (LSD) Second Address 

X XXXXX X xxxxx 

Many other variations are possible. 

The above discussion applies to machines using data words of fixed 
length. Greater flexibility may be obtained by making the size of data 
words variable. This flexibility is obtained at the expense of extra compli¬ 
cation in the computer circuitry. In essence, the computer must be built to 
handle a character at a time. A special mark called the end - of - word 
symbol, is required to distinguish the end of a word. In some computers 
the size of the word may be indicated by a portion of the command. 

Instruction words are almost always fixed since, for any machine, they 
always take a more or less standard form. 

Size of words is also controlled by machine timing and control con¬ 
siderations as will soon become apparent. 


INTERNAL COMMUNICATION 

In general, the digital computer is composed of five functional units; 
memory, input, output, arithmetic, and control. The memory stores 
instruction and data words, and makes them available when needed. 
Instruction and data words arc fed into the machine through the input unit, 



Peripheral 

equipment 



242 


FUNCTIONAL UNITS 


- £ 
O 3 

2 Q- 
Q 3 


Q- 03 


3 g 

CL C/3 

“3 'do 

o 2 


CL 4-* 
-4-» C 

3 o 
O o 


03 g> 
c W) 

>- 03 
<D 

-4-* O 
X -w 
11 I CO 


l/) 

■g c/5 
03 ~ 

E i 
E = 

o ca 

X) o 





o 

k- 

• ■■ 

<D 

CJ 

3 

4—' 

(/) 

• 

■4—* 

(/> 

DO 

CD 


■ 


. C c 

E § -2 o 

2 C TO 
GO 5^ </) O 
O E. c cu 

^ TO X 
Q_ CD w. m 
</>-*-* 


03 O 


03 q 
^ O 



-4—' (/) 

O -£* 

^ Q- 
Q.E 


SL-2 

£ x 
03 




03 

“O & 

11 

03 $ 


O O 

+-* ■4—< 

o a 

k. v_ 
4-* ■4-' 

CO CO 


1 


Fig. 117. The functional units of a digital computer. 


MACHINE LANGUAGE 


243 


and out of the machine through the output unit. Most arithmetic and 
other operations are performed in the arithmetic unit. The control unit 
sees to it that instructions are properly sequenced and executed. 

Each area in the machine does its job and then communicates with 
another area by means of the machine language. 

Computer Information Paths 

The five functional units of a digital computer and the information paths 
connecting these units are shown in Fig. 117. Each of the functional units 
has a register which receives and transmits information and thus acts as the 
link between the rest of the machine and the functional unit of which it is a 
part. This register acts as a buffer. A buffer register is seldom needed in 
the memory unit since the latter contains plenty of storage. The arithmetic 
unit contains several registers for storing operands. 

Both data and instruction words are loaded into the machine through 
input auxiliaries, such as paper- or magnetic-tape readers or punched-card 
readers. The words are fed to the input register. Input control circuits 
operate on these words before they are fed to other parts of the machine. 
Data words and instruction words follow slightly different paths. 

From the input register the data word is fed to the memory. After a 
group of data words is stored in memory, each word is called into the 
arithmetic unit as.it is needed for computation; results are fed back to the 
memory. After a complete batch of results is obtained, this group of data 
words is fed to the output auxiliaries through the output unit. 

In some cases, each data word may be applied directly from the input 
register to the arithmetic unit for computation. The result of the compu¬ 
tation may then be fed either to the memory unit or to the output auxiliary 
through the output unit. 

The instruction word is fed as part of a program, from the input register 
to the memory. In some machines it is stored in the same section of the 
memory as the data words. In other machines the two types of words are 
stored separately. 

A portion of the control unit causes a group of instructions in a program 
to be taken out of the memory in a definite sequence. Each instruction 
word is fed to the instruction register and then interpreted by the associated 
control circuits. The command is converted into a group of subcommands 
—signals which are fed to various gates and circuits throughout the 
machine to cause the indicated command to be performed. The address 
portion of the instruction is interpreted, and signals are fed to the memory 
unit to allow the appropriate operands to leave the memory or to 
enter it. 

















244 FUNCTIONAL UNITS 

Because in many machines, instruction words look like data words, 
instruction words may be fed to the arithmetic unit and modified arith¬ 
metically. As is explained later (Chapter 15), this arithmetic modification 
enables one instruction to perform the work of several instructions. 

Many modifications of this arrangement of the five functional units are 
possible. Instead of storing the program in the memory, the program may 
remain outside the computer—on punched cards for instance. In this case 
the control unit ascertains that instructions are read at the appropriate 
time by the input auxiliary and fed to the control unit for interpretation. 
The input and output registers may be combined into one register serving 
both functions. As a matter of fact, in most cases, the input and output 
units are so similar in function that they are performed by one unit called 
the input-output unit. In many cases, one of the arithmetic registers may 
double as the input-output register. 

Methods of Information Transmission 

Words may be transmitted from point to point within the machine 
serially, in parallel, in serial-parallel, or parallel-serial. The method of 
information transmission depends for the most part on the number system 
used and the speed of machine operation required. 



Fig. 118. Methods of transmission of binary words. ( a ) Serial. (6) Parallel. 


If a binary number system is used, the bits composing the word may flow 
through the machine in a serial or in a parallel manner. In serial flow, bit 
follows bit. A basic register consists of a string of binary storage cells 


MACHINE LANGUAGE 245 

equivalent to the number of bits to a word (Fig. 118a). Bits enter the most 
significant end of the register. The least significant bit is applied first, 
followed by other bits in order, until the most significant bit is entered. 
As each bit is entered, the previous bits are shifted within the register. 

In parallel flow, all bits of a word are applied simultaneously to all the 
storage cells in the register (Fig. 118Z>). If a word consists of ten bits P 0 to 
P 9 ten bit-times t 0 to t 9 are required to shift all the bits into the register when 
information is transmitted serially. Similarly, ten bit-times are required to 
shift all the bits out of the register to some other register or to another 
circuit. In parallel flow, one bit-time is required to bring all ten bits into 
the register or out of it. 

Obviously, parallel information transmission is speedier than serial 
information transmission. Note, however, that in parallel transmission a 
separate channel is required for each bit, whereas only one channel is 
required for serial flow regardless of the number of bits per word. 

If a coded-decimal number system with 4-bit digits is used, 40 bits are 
needed to encode a 10-digit word. In serial flow, 40 bit-times are required 
to bring a word into or remove it from a register. In parallel flow, 40 
channels are required to transmit all the bits of the word. The serial 
transmission is too slow. The parallel transmission is too costly in required 
equipment. A good compromise between transmission time and number of 
channels may be obtained by using serial-parallel or parallel-serial 
information flow. 

In serial-parallel flow (Fig. 119a) the digits of a word are transported in 
serial; and the bits comprising each digit are transported in parallel. 
Effectively there is a separate channel for each order of bits. To handle 
the 4-bit, 10-digit word, we may use a serial-parallel register consisting of 
four subregisters, each subregister handling in serial one bit of each digit. 
The subregister may be labeled according to the order of bit flowing 
through it. In the illustration, the top subregister is the first-order sub¬ 
register and the bottom one is the fourth-order subregister. The informa¬ 
tion transmission path consists of four channels, and ten bit-times are 
required to transmit a word. 

In parallel-serial flow (Fig. 119 b), the digits of a word are transmitted in 
parallel; and the bits comprising the digits are transmitted in series. In 
this system all the bits of the first order are transmitted during the first 
bit-time, followed by succeeding orders in succeeding bit-times. To handle 
the 4-bit, 10-digit word, we may use a parallel-serial register consisting of 
ten subregisters, each subregister handling in serial four bits. The sub- 
register may be labeled according to the significance of the digit it handles. 
In the illustration, the top subregister is the least significant subregister and 
the bottom subregister is the most significant subrcgistcr. The information 



















246 


FUNCTIONAL UNITS 


MACHINE LANGUAGE 


247 


transmission path consists of ten channels, and four bit-times are required 
to transmit a word. 

The serial-parallel method of information transmission is popular. The 
parallel-serial method is not in common use. One important disadvantage 


Subregister 1 


Subregister 2 


Subregister 3 


Subregister 4 


^36 

P 32 

P 28 

P 24 

P20 

Pie 

Pl2 

Ps 

P* 

Po 

—> 

X 

—>- 



1 

P3I 

P 33 

P 29 

P 23 

P21 

Pvt 

Pis 

P 9 

P5 

Pi 

—> 

X 

—>■ 



^38 

P 34 

P30 

P 26 

P 22 

Pi8 

Pl 4 

Pi 0 

Pe 

P2 

—> 

X 

—► 



P 39 

^35 

P3I 

P 21 

P 23 

Pl 9 

Pi 5 

Pn 

P-, 

p 3 


X 




Ten bit-times 
for 40 bits 
to pass 


4 


4 


4 


4 


4 


_i_4 


4 4 

Four bit-times 
for 40 bits 
to pass 

X 


X 


X 


X 


X 


X 

X 

X 


X 

X 

f 


T 


T 


T 


f 


y - - 


11 

^36 


P32 


P 28 


P 24 


p 29 


Pie 

Pi 2 

Ps 


P4 

Po 


P37 

P 33 

P 29 

pj 

P21 

Pn 

Pis 

P9 

P5 

Pi 

co 

P34 

P30 

P 26 

P22 

Pis 

Pl 4 

Pio 

Pe 

P2 

P39 

P35 

P3I 

P 21 

P 23 

P 19 

Pie 

Pn 

Pi 

P3 


10 98765432 1 

Subregisters 

(b) 


Fig. 119. Methods of transmission of coded-decimal words, (a) Serial-parallel. 
(Jb) Parallel-serial. 


of the parallel-serial method is the fact that digits are not transmitted as 
units. 

The sign of a data word possesses special significance since it determines 
operations to be performed by the arithmetic unit. It is therefore often fed 
to a special flip-flop. The flip-flop stores one to indicate a minus sign, and 
zero to indicate a plus sign. The sign is usually the first bit in a sequence, 
although it can be transmitted at other times. 


Checking 

Every computer has definite language rules and definite rules for trans¬ 
mission of information. To increase the reliability of the computer, words 
are periodically fed through checking circuits. 

In a binary computer, a parity-check bit may be attached to one of the 
words and transmitted as part of the word. The parity-check bit is chosen 
so that the sum of all the one’s in the word is odd. At strategic locations 
in the machine, parity-check circuits look at the word to determine 
whether the sum of the one’s is odd or even. If the sum is even, the machine 
knows a mistake has occurred. It can then stop the machine or merely 
warn the operator by lighting a light on the control panel. 

In a coded-decimal machine, parity bits may be added to each digit 
combination. In effect, each digit in a word is tested. 

Other redundancy checks such as the forbidden-combination check may 
be used to test the correctness of information flow throughout the machine. 


EXTERNAL COMMUNICATIONS 

Communication between man and machine may be accomplished auto¬ 
matically or manually. In the automatic method a complete program of 
instruction words and a list of required data words are prepared before¬ 
hand. This information is then loaded into the machine which then 
executes the instructions in proper sequence. The manual system of 
communication is accomplished by means of switches and controls on the 
front panel of the machine. Instruction words and data words may be fed 
individually into the machine; and instruction sequences may be modified. 
The machine keeps the operator up to date on events within the computer 
by means of display lights which indicate the informational content of 
various registers and whether any arithmetic errors or component mal¬ 
functions have occurred. 

Types of Instructions 

In keeping with the general organization of the computer, several 
different types of instructions are used by man to communicate with the 
machine. 

Most of the actual arithmetic work of the machine is performed by the 
arithmetic unit. Wc inform the machine to do these operations by means 
of arithmetic instructions which include add, subtract, multiply, square 
root, and shift right. Some of these instructions such as add and subtract 









248 


FUNCTIONAL UNITS 


MACHINE LANGUAGE 


249 


refer to addresses in memory where operands are located. Other instruc¬ 
tions, such as shift right, do not refer to memory. The first type of 
instruction requires an address portion. The second type does not require 
an address. 

Before operations can be performed by the arithmetic unit, operands 
must be transferred to it. After the arithmetic unit has performed its work, 
results must be removed from it. Information must also be fed into and 
out of other registers in the computer. Man instructs the machine to 
perform these operations by means of transfer instructions. Transfer 
instructions may be of two types: read or write. In the first, a word is read 
out of memory into another register in the machine. In the second, a word 
is taken from another register and written into the memory. The memory 
location in both cases is given by the address portion of the instruction. 

As long as the computer is performing simple arithmetic operations, 
transfer and arithmetic instructions are sufficient for communication. But 
the great forte of the digital computer is that it can follow one sequence of 
instructions under one set of conditions and another sequence of instruc¬ 
tions under another set of conditions. An instruction which asks the 
computer to do this is called a branch instruction. The branch instruction 
enables man to communicate with the computer’s control unit to modify 
the sequencing of computer instructions. There are several types of branch 
instructions among which are the unconditional jump, the conditional 
jump, and the comparison. The unconditional jump instructs the computer 
to jump to an instruction word that is out of the regular sequence. The 
conditional jump instruction orders the computer to jump to a certain 
instruction word only under certain conditions—if the result of a previous 
calculation is negative, for instance. A comparison instruction instructs 
the machine to compare two words and then follow one set of instructions 
if one result is produced and another set of instructions if another result is 
produced. 

There are instructions which enable man to communicate with input and 
output auxiliaries. These input-output instructions may be used to control 
operation of tape units, punched-card equipment, and printers. 

To summarize, here is a tentative list (others are described in the 
following chapters) of the types of computer instructions: 

1. Arithmetic 

a. Memory. 

b. Nonmemory. 

2. Transfer 

a. Read—memory to register. 

b. Write—register to memory. 


3. Branch 

a. Unconditional jump. 

b. Conditional jump. 

c. Comparison. 

4. Input and output. 

5. Miscellaneous. 

Preparation of Programs 

The program of instructions tells the computer what to do. To make 
sure the computer does exactly what we want, we must detail every step in 
the process, and we must detail each step by instruction words following 
the format understood by the machine. 

To make each instruction explicit, we must be sure of the address of each 
required data word, and the address of each instruction word. Therefore, 
before computation begins, the data words are loaded into one group of 
addresses in memory, and the instruction words are loaded into another 
group of addresses. 

The basic method of preparation of programs can best be understood 
by following a simple example. Assume we have a machine with a one- 
address instruction code of six digits, two digits for the command and four 
digits for the address as follows: 

COMMAND ADDRESS 

XX xxxx 

Part of the command code is as follows: 

01 Add the data word stored in the location specified by the address to the 
word stored in the arithmetic register. 

02 Subtract the data word stored in the location specified by the audress 
from the word stored in the arithmetic register. 

03 Read the contents of the location specified by the address out of the 
memory and send it to the arithmetic register (after first clearing it of its 
previous contents.) 

04 Write the contents of the arithmetic register into the memory location 
specified by the address. 

05 Transfer a block of four data words from external storage to the four 
consecutive locations in memory beginning with the one specified by the 
address. 

06 Transfer to external storage the word stored in the memory location 
specified by the address. 

07 Halt the computer. 

Suppose we want to perform the following simple problem: 

450000 + 380000 - 240000 - 650000 


250 


FUNCTIONAL UNITS 


First we enter these operands on punched paper tape or whatever external 
storage means is used. Then the following program is prepared: 

Instruction 

Command Address Explanation 

05 1000 Enter the four data words into the locations specified 

by the following addresses: 

DATA WORDS ADDRESSES 

450000 1000 

380000 1001 

240000 1002 

650000 1003 

03 1000 Read the contents of the location specified by address 

1000 (which is 450,000) into the arithmetic register. 

01 1001 Add the contents of the location specified by address 

1001 to the contents of the arithmetic register; store 
sum in the arithmetic register. 

450000 (In arithmetic register at start) 

380000 (In address 1001) 

830000 (In arithmetic register at end) 

02 1002 Subtract the contents of the location specified by 

address 1002 from contents of the arithmetic register; 
store difference in arithmetic register. 

830000 (In arithmetic register at start) 

—240000 (In address 1002) 

590000 (In arithmetic register at end) 

02 1003 Subtract the contents of the location specified by 

address 1003 from the contents of the arithmetic 
register; store difference in arithmetic register. 

590000 (In arithmetic register at start) 

-650000 (In address 1003) 

—60000 (In arithmetic register at end) 

04 1004 Write the result of the calculation into the location 

specified by address 1004 

-60000 (In address 1004) 

06 1004 Transfer the contents of address 1004 to external 

storage. 

0000 Halt the computer. 


07 


MACHINE LANGUAGE 


251 


After this program is prepared, it is loaded into the machine so that the 
instructions in the sequence are in consecutive memory locations starting 
with the location given by address 0001, as follows: 

Instruction 


Location of 

Instruction Command Address 

0001 05 1000 

0002 03 1000 

0003 01 1001 

0004 02 1002 

0005 02 1003 

0006 04 1004 

0007 06 1004 

0008 07 0000 


If now the start button is pushed, each instruction is performed in the 
sequence given by the program. 

Manual Communication 

In addition to the automatic communication possible by means of the 
program, manual communication between man and machine is also 
possible. Switches on the control panel are available to start and stop the 
machine, or to stop the machine under certain circumstances. Switches 
are available for manually feeding data words or instruction words to 
various registers in the machine. Switches are available for modifying the 
instruction sequencing. 

On the other side of the communication line the computer informs the 
operator of what is going on within the machine by means of panel indi¬ 
cators. Indicators show the contents of the various registers at any one 
time. They show whether errors have occurred and, if they have, of 
what type. 

GENERAL- AND SPECIAL-PURPOSE COMPUTERS 

Up to now we have been discussing communication problems relating to 
the general-purpose computer. The general-purpose computer is a machine 
capable of performing many different kinds of problems. It is sufficiently 
flexible so that it can communicate with all parts of the machine. It can 


252 FUNCTIONAL UNITS 

execute a long list of instructions. A program may be prepared at will, 
stored in the memory, and then executed. 

Not so with the special-purpose computer. As its name implies, the 
special-purpose computer is built to perform only one job or a group of 
related jobs. Internal communication is restricted. It may possess a 
shorter instruction repertoire. Its program may be fixed; in other words, 
the same sequence of events may occur during a repetitive cycle. 

The advantage of the general-purpose computer is that it can be 
programmed to perform many different problems; it is flexible. The 
advantage of the special-purpose computer is that it can be tailored to do a 
specific job in the most straightforward way. 

Most computers are neither completely general-purpose machines nor 
completely special-purpose machines. Many so-called general-purpose 
computers have features which restrict their use to certain general problem 
areas. The programs of many special-purpose computers may be modified 
by switches on control panel, by plugboards, or by other means. 

In the following chapters most of the discussion concerns itself with 
general-purpose computers. The general-purpose machine is as a rule 
more complicated. It should be easy to apply the principles of general- 
purpose machines to the understanding of special-purpose machines. 

DEFINITIONS TO REMEMBER 

WORD —A set of bits or digits treated by the computer as a unit. 

DATA WORD —A data word consists of numbers or characters to be pro¬ 
cessed. It may consist of digits and sign. 

INTEGRAL COMPUTER —A computer dealing with whole numbers, that is, 
numbers of 1 or above in magnitude. 

FRACTIONAL COMPUTER —A computer dealing with fractional numbers, 
that is, numbers smaller than 1 in magnitude. 

FIXED-POINT COMPUTER —A computer in which the decimal or binary 
point is assumed to be in a fixed location. 

FLOATING-POINT COMPUTER —A computer which carries data words in 
exponential form. It can deal directly with fractional as well as integral numbers. 

FIXED WORD —A word possessing a fixed number of digits or characters. 

VARIABLE WORD —A word composed of a variable number of digits or 
characters. 

INSTRUCTION WORD —A word used to inform the machine what operation 
to perform. It consists of a command and one or several addresses. 

COMMAND —The portion of the instruction which tells the machine what 
to do. 

ADDRESS —An expression which designates the location of a character or 
word in a storage device. 

ONE-ADDRESS INSTRUCTION —An instruction with only one address. 
The address indicates one of the operands upon which the operation is to be 
performed. 


MACHINE LANGUAGE 253 

TWO-ADDRESS INSTRUCTION —An instruction with two addresses. One 
address specifies an operand and the other specifies the address of the next 
instruction. 

THREE-ADDRESS INSTRUCTION —An instruction with three addresses. 
These addresses specify the two operands and the address of the result. 

FOUR-ADDRESS INSTRUCTION —An instruction with four addresses. 
These addresses specify the two operands, the result, and the address of the 
instruction to be executed next. 

CHANNEL —A path along which information may flow. 

SERIAL TRANSMISSION —All bits of a word are transmitted sequentially. 
PARALLEL TRANSMISSION —All bits of a word are transmitted simul¬ 
taneously. 

SERIAL-PARALLEL TRANSMISSION —All digits are transmitted serially; 
but the bits which make up the digits are transmitted in parallel. 

PARALLEL-SERIAL —All digits are transmitted in parallel; but the bits of the 
digits are transmitted serially. 

SUBREGISTER —A portion of a register handling a group of bits flowing 
serially in serial-parallel or in parallel-serial transmission. 

GENERAL-PURPOSE COMPUTER —A computer which can be programmed 

to solve many types of problems. 

SPECIAL-PURPOSE COMPUTER —A computer which performs one type of 
problem or a group of related problems. 


MEMORY 


255 


Data and 
instructions 


From input 
or arithmetic 



Instructions 


Address 

selector 


From control 


To arithmetic 
and output 

To 

control 


CHAPTER 12 

Memory unit 


The memory unit consists of: a bulk storage which stores data and 
instruction words; an address selector which chooses the location in 
memory to be written into or read out of; and write and read circuits 
which perform the actual writing and reading. 

The memory serves two functions. It stores the program of instructions, 
and it stores the data words upon which the instructions operate. The 
instructions are read out of memory into the control unit by the part of the 
control unit concerned with instruction sequencing; the sequencer chooses 
the appropriate address and activates the read circuits at the correct times. 

254 


Aside from the sequencing, words are written into or read out of memory as 
determined by the instruction words. There are two kinds of instruction 
words which refer to memory: the write and the read. In the write-type 
instruction, the address selector is activated to choose the address, and 
signals are applied to the write circuits to allow the information to be 
stored. In the read-type instruction, the address selector is activated, and 
signals are applied to the read circuits to allow information to be read. 


WHAT IS MEMORY 

Memory consists of three elements: storage, read and write circuits, and 
address selection. But any storage system requires these three elements. 
What distinguishes a memory from other types of storage ? 

To answer this question, let us look at different classes of storage. 
Storage may be classified according to size. There is bit storage, as 
exemplified by the flip-flop; there is word storage, as exemplified by the 
register and counter; and there is multiword storage which is exemplified 
by systems of bulk storage. 

Storage may be classified according to whether it is external or internal. 
External storage exists outside the computer; it is not a fundamental part 
of the computer. Internal storage is an integral part of the machine; 
without it the computer cannot function. 

Storage may be classified according to whether it is fixed or erasable. 
The contents of fixed storage cannot be changed. The contents of erasable 
storage can be changed—it can be written into. 

To be considered memory, storage must be: 

1. Bulk storage. 

2. Internal. 

3. Erasable. 

Obviously one bit or one word cannot constitute memory; we need a 
device which can store many words. Internal storage implies that there is 
ready and quick communication between memory and the other functional 
units of the computer. Erasability means 2-way access to words in 
memory, in as well as out. 

To summarize, we may say that memory is accessible bulk storage which 
may be written into as well as read from. 

External storage is used in the input and output systems. Fixed storage 
may be used in the control unit for storage of nonchangeable programs 
in special-purpose computers. More about these forms of storage in 
following chapters. 




256 


FUNCTIONAL UNITS 


MEMORY 


257 




(C) 


Fig. 120. Types of storage access, (a) Coordinate access. ( b) Cyclic access, (c) 
Sequential access. 


STORAGE ACCESS 

Types of Access 

Storage systems may be categorized according to the method of access 
to any one of the many storage addresses. There are three types of access 
as follows: 

1. Coordinate. 

2. Cyclic. 

3. Sequential. 

The three types of storage are described pictorially in Fig. 120. 

In the coordinate access system the storage cells are arranged in an array 
in space. To gain access to any one location, the address selector opens a 
path to one of the storage cells. Coincident-current magnetic-core storage 
is an example of coordinate access storage. 

In the cyclic access system a group of storage cells is arranged in time in 
such a manner that access may be gained to each cell once during each 
period of time called a cycle. Storage cells may be rotated past a stationary 
access device; or an access device may be rotated past a stationary group 


of storage cells; or the bits may be circulated through a closed-loop delay 
circuit. Several storage loops may be operated in parallel. Examples of 
storage devices using cyclic access are the magnetic drum and the mercury 
tank. 

In the sequential-access system a long group of storage cells moves in 
time with reference to an access device. Relative movement of storage 
cells with respect to the access device may be started and stopped at will, 
and each storage cell may appear only once at the access device during an 
operation. Examples of storage devices using sequential access are 
magnetic tape, punched paper tape and punched cards. 

Evidently it takes longer to gain access to a storage cell in a sequential 
storage system than to a storage cell in either the coordinate or the cyclic 
storage system. Sequential storage is therefore rarely used in memory 
units; because of its greater storage capacity, it is in common use as 
external storage in input-output systems. Coordinate and cyclic storage 
devices, however, make good memories. 

Latency, Access Time, and Cycle Time (Fig. 121) 

The speed with which words may be written into or read from a storage 
device depends on the cycle time. The cycle time is defined as the time 
between successive references to storage. 


Cycle time 



Access time 




Latency 


l- 

1-1-1 


Start 

write 

or 

read 


Find 

address 


Complete 

transfer 


Start 

write 

or 

read 


Fig. 121. Latency, access time, and cycle time. 


The cycle time consists of the access time plus a waiting time. The access 
time is the time between arrival of the signal activating the memory and the 
completion of write-in or read-out. The waiting time is the time the 






258 FUNCTIONAL UNITS 

storage device needs to settle sufficiently so that the next reference to 
storage may be performed reliably. 

The access time consists of the latency plus the transfer time. The 
latency represents the amount of time it takes to find the chosen address. 
Latency is a factor in cyclic and sequential storage devices. Latency may 
be considered to be zero for coordinate systems. The transfer time is the 
time it takes to transfer a word from storage to some other location, or 
from some other location to storage. 

Random Access 

An important class of storage devices possesses the property of random 
access. Random access storage refers to a device in which it takes just as 
long to obtain access to one address as it does to obtain access to another 
address. The coincident-current magnetic-core storage possesses random 
access. Magnetic tape, on the other hand, does not possess random access, 
since it takes a short time to gain access to a location at the start of the 
tape and a much longer time to gain access to a location at the end of the 
tape. The same is true of the magnetic drum: access time depends on what 
point in the cycle reference to an address is made. 

The main advantage of a random access device is that it allows infor¬ 
mation to be stored and retrieved quickly. Since in any practical situation 
it is the relative speed that is important, the definition of random access has 
been distorted by some to refer to a device which allows access at a rate 
faster than the information is needed by the equipment served by the 
storage. For instance, a drum with a cycle time of 20 ms may be considered 
to be a random access device if it serves a device which cannot operate 
faster than once every 30 ms. 


ADDRESS SELECTION 

Address Formation 

An addressing scheme is a means for labeling each storage cell in 
memory. The simplest way to form an address is by giving a number to 
each storage cell or group of cells in memory. Another way is by labeling 
each storage location by the number of the column and row in which it is 
found. In this case the address is effectively divided in two: a row address 
and a column address. 

The row address and column address schemes may be used for coordinate 
as well as cyclic access devices. In the coordinate access device the row and 
column both represent addresses in space. In the cyclic access device the 


MEMORY 259 

column address is an address in space, whereas the row address is an 
address in time. 

A third coordinate may be used. The third coordinate may represent 
another dimension in space or another storage device. This general 
addressing scheme may be extended in many directions. 

A special type of address is the relative address. A relative address does 
not give the location in memory directly; it gives the location in relation 
to the address in which is stored the instruction being executed. For 
instance, if the instruction being executed is in column 5, row 10, and the 
relative column address is given as 2 and the relative row address as 4, the 
actual address referred to is in column 5 + 2 = 7 and row 10 + 4 = 14. 

Selection of Space Addresses 

A space address may be chosen by a simple decoder (Fig. 122 a). The 
bits representing the address portion of the instruction are fed from the 
instruction register to the address decoder. In the decoder a different 
output line is activated for a different combination of address bits. The 
activated output line gates information either into or out of storage, 
depending upon whether a read or a write operation is called for by the 
command part of the instruction. 

When row and column addresses are used in a coordinate access 
memory, two address decoders are provided, one for the column address 
and one for the row address (Fig. 122 b). The two chosen lines then 
produce coincidence at one storage location in memory. Coincidence may 
occur in the read or write direction, depending upon whether a read or 
write operation is called for by the command. In this scheme the memory 
itself performs part of the selection. 

To select a column address when given in relative form, the relative 
column address is added to the address of the instruction being executed, 
and the sum is then decoded. 

Finding Time Addresses 

In a cyclic access device it takes a certain number of word-times for all 
the rows to pass through the access device. If one row is labeled as 
reference, all the other rows may be labeled in terms of the number of 
word-times needed to travel from the reference point to the designated row. 
This word-time number is the time address. 

To find a time address, the row address is compared with the output of a 
clock ticking in synchronism with the storage device. When the two are 
alike, it signifies that the chosen row is passing through the access device. 
Figure 122 c shows a cyclic access memory in which the columns are chosen 


260 


FUNCTIONAL UNITS 



(a) 




Clear to 
ZERO at 
reference 
point 



(c) 


Fig. 122, Address selection, (a) Space-array address selection. ( b) Coincident-storage 
address selection, (c) Space-time storage address selection. 


MEMORY 261 

by a column address decoder, and the rows are chosen by a time address 
selector. At the reference point on the memory a pulse is applied to the 
word-time counter to clear it to 0. The word-time counter thus stores 0 
during the period row 0 is passing through the access device. The word¬ 
time counter advances to 1 at the same time that row 1 passes through the 
access device. If the wanted row address is 1, the time-address comparison 
circuit produces an output pulse which allows writing or reading as deter¬ 
mined by the command. If the wanted row address is not 1, the word-time 
counter is stepped again. This operation continues until comparison is 
achieved. 

To find the actual row when a relative row address is specified, the 
relative row address is added to the row in which the present instruction is 
located. The sum is then treated as above. 


WRITE AND READ INSTRUCTIONS 

Word Transfers- 

Figure 123 shows the relationships between the memory and the 
registers to and from which words are transferred. All words may be fed 
to a bus, and from the bus to all other storage points, or vice versa. Words 
on the bus enter only registers whose input gates are opened; on the other 
hand, output gates allow words from registers to be returned to the bus. 
The address selector acts as a group of input gates for the memory. 

If instruction sequencing is disregarded for the moment, instructions 
may be divided into memory and nonmemory instructions. The non¬ 
memory instruction makes no reference to memory. Examples are square 
root and shift right. The memory instruction, on the other hand, does 
make reference to memory. 

In the one-address machine, memory instructions may be divided into 
two classes: write and read. In the write instruction, a word stored in one 
of the registers and fed to the bus is allowed to be written into the memory 
by activating the write circuits and by applying the proper signals to the 
address selector. In the read instruction, one of the words stored in 
memory, as determined by signals applied to the address selector, is fed to 
the bus; from the bus the word enters the register whose gates are open. 
The write or read circuits are activated by subcommands. The address 
selector is activated by the address. 

In the two-address instruction machine, the command and operand 
address part of the instruction may be classified in a manner similar to the 
onc-addrcss instruction. Naturally, since the second address indicates the 











262 


FUNCTIONAL UNITS 


location of the next instruction to be executed, the second address must 
refer to memory. When this part of the instruction is executed, the address 
selector is activated by the second address and the appropriate instruction 
word is fed to the instruction register. 

In the three- and four-address instructions, memory instructions may be 
simultaneously of the write and read types. Two operands as determined 


In 


n 

B 



Arithmetic 




nput register H 


P 

C 



Arithmetic 



Registers 




Output register 


Out 



P 


Instruction register H 


E 


Address 

selector 


Fig- 123. Information transfer by means of bus. 

by the first two addresses are read from memory. After the appropriate 
operation as determined by the subcommands is performed, the result is 
written back into the address in memory given by the third address. In 
this system, writing and reading are performed at different times. 

In more complicated computers, separate write and read buses may be 
used. 

Translation 

Just as the word-transfer mechanism depends upon the instruction code, 
the function performed by the write and read circuits depends on the type 
of storage used. 

For instance, when using return-to-ZERO recording in a magnetic drum, 


MEMORY 263 

the write circuits convert one’s and zero’s into standard-size pulses of 
positive and negative polarity. These pulses then magnetize locations on 
the drum to store information. When using cathode-ray-tube storage, the 
write circuits convert one’s and zero’s to voltages which cause the tube to 
store dots and nondots on the screen. In mercury-tank storage, the write 
circuits convert one’s and zero’s into bursts of acoustic waves or no-waves, 
which are then fed to the input crystal of the mercury tank. 

The read circuits do the reverse of the write circuits. They convert the 
stored signals into one’s and zero’s. In the return-to-ZERO magnetic-drum 
recording, a one is picked up by the head as a positive pulse followed by a 
negative pulse, and a zero as a negative pulse followed by a positive pulse. 
The read circuits convert the positive pulse followed by a negative pulse to 
a one, and a negative pulse followed by a positive pulse to a zero. In the 
cathode-ray-tube storage, the dot on the screen is converted to a one, and 
the nondot to a zero. In the mercury tank, the acoustic signal is detected 
and converted to a one, and the absence of an acoustic wave is converted 

to a ZERO. 

Some storage devices such as the cathode-ray tube cannot maintain 
their information unless the information is periodically rewritten. To do 
this, the bits are read at regular intervals by the read circuits and then fed 
back to the write circuits. 

Some storage devices possess destructive read-out. Therefore, each time 
information is read from storage, it is stored temporarily in a register and 
then applied to the write circuits. After the rewriting the location is 
storing the same information as before read-out. 

Timing Problems 

Coordinate and cyclic access storage devices present different timing 
problems. Bits may be written into or read out of a coordinate access 
storage device in parallel. Reference to memory may be made in just one 
bit-time. Bits are usually written into or read out of a cyclic access device 
in a serial or serial-parallel manner. Reference to memory requires one 
word-time. Coordinate access storage is therefore suited to a machine 
using parallel transmission, and cyclic access storage is suited to a machine 
using serial or serial-parallel transmission. 

Obviously, cyclic access storage slows down the operation of a machine 
using parallel transmission. However, if a cyclic access storage device is 
wanted, a buffer register is required in the memory unit. During writing a 
complete word is transferred from another register to this buffer register; 
then the address selector and the write circuits arc activated to allow serial 
writing into the cyclic device. During reading, the address selector and 










264 FUNCTIONAL UNITS 

read circuits are activated to allow a word to be read in serial into the 
buffer register; as soon as the complete word is in the buffer register, the 
whole word is transferred in parallel to another register. 

By the same token, coordinate access storage can be most efficiently used 
in a parallel machine. However, if it is used in a serial or serial-parallel 
computer, a buffer register is required in the memory unit. During writing, 
the bits of a word are transferred in serial from another register to this 
buffer register; as soon as the complete word is in the buffer, the address 
selector and write circuits are activated to write the word in parallel into 
memory. During reading the address selector and read circuits are acti¬ 
vated to read a word out of memory in parallel into the buffer register; 
then the word is transferred serially to another register. 

Storage devices have a certain cycle time, which determines how 
frequently they may be referred to. This cycle time should be compatible 
with the speed of operation of the arithmetic and control units of the 
computer. 

The problem is more intense with storage devices requiring rewriting 
because of either fade-out or destructive read-out. In the first case, 
information is being regenerated at a certain constant rate and words may 
be written or read only during a certain portion of the cycle. In the second 
case, the rewrite time must be included to increase the effective cycle time. 

Transfer of a Block of Words 

In some computers, especially those using magnetic tape for external 
storage, a complete block of words may be read off the tape and written 
into memory. Usually the instruction specifying such an operation 
designates the address in which the first word is to be written; successive 
words are written into successive addresses. 

For a block consisting of a definite number of words, the block transfer 
is performed as shown in Fig. 124. In addition to the transmission path 
from tape handler to input register through write circuits to storage, we 
need an instruction register, a counter, an adder and a comparison 
circuit. Subcommands activate the tape reader, open the input register 
gates, operate the write circuits, and clear the counter to 0. The address 
portion of the instruction is fed to the instruction register. 

As the first word is being transferred into the input register, the initial 
address stored in the instruction register and the contents of the counter 
(0) are added and then applied to the address selector. The first word is 
written into this location in memory. When the first word is transferred, 
an end-of-word signal (EW) is fed from the tape handler to step the counter 
to 1. This 1 is added to the initial address to obtain the next address to be 


MEMORY 265 

written into. In this way, each successive word read from tape is written 
into a successive memory location. 

At the same time the counter contents are fed to the adder, they are 
also fed to the comparison circuit where they are compared with a number 





detector 


(b) 


Fig. 124. Block transfer, (a) Standard-size block. ( b ) Variable-size block 


representing the size of the block. No output is produced by this com¬ 
parison circuit until the number in the counter is equivalent to the size 
of the block. When this happens, the comparison circuit produces a 
pulse which halts the operation. 

If the block does not consist of a definite number of words, it carries 
an cnd-of-block signal ( EB ). In this case the comparison circuit is re¬ 
placed by an EB symbol detector. Operation is as described above until 









266 FUNCTIONAL UNITS 

an EB symbol arrives. The symbol is detected by the detector which then 
produces a pulse which halts the operation. 

The same type of arrangement may be used to read a block of informa¬ 
tion out of memory and transfer it through the output register to external 
storage. 


TYPES OF MEMORIES 

Characteristics of Storage Components 

As we have seen, the construction of the memory depends a great deal 
on the type of storage component used. Storage components may be 
classified according to four different criteria: 

1. Static or dynamic 

2. Erasable or nonerasable 

3. Volatile or nonvolatile 

4. Destructive read-out or nondestructive read-out. 

These classes are defined as follows: 

A static storage component stores bits by staying in one of several 
stable states. Examples of static storage components are the magnetic 
core, diode-capacitor circuit, magnetic drum, magnetic tape, and cathode- 
ray tube. 

A dynamic storage component stores information by continuous re¬ 
circulation of a wave, pulse, or other physical quantity. Examples of 
dynamic storage components are the mercury delay line, the dynamic 
flip-flop, and the recirculating register. 

In an erasable storage component the bits may be removed and other 
information may be written in the same place. Examples of erasable 
storage components are the magnetic core, cathode ray tube, diode- 
capacitor circuit, magnetic drum, and magnetic tape. 

In a nonerasable storage component the information cannot be erased. 
Examples are punched paper tape and film. Nonerasable storage is not 
used for memory. It may be used for external storage or for fixed program 
storage in special-purpose computers. 

A volatile storage component loses the stored information with time or 
if the power is turned off. Examples are the cathode-ray tube and the 
diode-capacitor circuit. 

A nonvolatile storage component holds the information even after the 
power is removed. Examples are the magnetic core, magnetic drum, 
ferroelectric devices, and film. 


MEMORY 267 

A storage component with destructive read-out loses the information 
stored in it when the information is read out. A storage component with 
nondestructive read-out keeps the information stored in it intact even 
when read out. 

Coincident-Current Magnetic-Core Memory 

A good example of a coordinate access memory is the simplified 
coincident-current magnetic-core memory shown in Fig. 125. It consists 



i 



1 

Read 

Read- 


write 


driver 




Read 


Cycle time 


Write 


Read- 

write 

driver 


Information 

driver 


Read 


Write 


ONE 


ZERO 



Fig. 125. Coincident-current memory. 


of six storage planes, each plane consisting of eight columns and eight 
rows of cores. Each core has column, row, information and sense windings 
threading through it according to the pattern shown previously in Fig. 77. 







268 


FUNCTIONAL UNITS 


MEMORY 


269 


Column address and row address decoders select the core in each plane to 
be written into or to be read from. Each decoder converts three address 
bits into eight lines. The drivers supply the necessary power and the proper 
polarity of current required in the address selection process. Information 
drivers (/) convert the individual one’s and zero’s into pulses which 
either add to or subtract from the flux in the chosen core of each storage 
plane. Sense amplifiers (S) pick up voltages during read-out and convert 
them to one’s and zero’s. Flip-flops are used to feed one’s back to the 
information drivers to rewrite them into the cores from which they have 
just been read out. 

The basic timing cycle of the memory is determined by the timing control. 
The timing control produces read-phase pulses followed by write-phase 
pulses at a definite frequency. The time between the advent of one read- 
phase pulse and the next is the cycle time. 

During the read phase, half-current pulses are applied to the chosen 
column and row in a direction which would cause the core to flip to the 
zero state. If a read control pulse is present at the sense amplifiers, the 
voltages induced across the sense windings in each plane are fed through 
the sense amplifiers to the output. At the same time the one’s set the 
associated flip-flops. 

During the write phase, half-current pulses are applied to the chosen 
column and row in a direction which would cause the core to flip to the 
one state. If this is the rewrite portion of a read operation, a write pulse 
appears at all the information drivers and all 1-bits are rewritten into 
memory. A write pulse also appears at all the information drivers during 
an ordinary write instruction. In this case, the entering bits are written 
into the chosen cores in each storage plane. 

The illustration shows a “read 110111”, where 110 is the column address 
and 111 is the row address being performed. The read command is 
converted to a read pulse followed by a write pulse. The column address 
•110 is decoded to choose column 6; the row address 111 is decoded to 
choose row 7. The timing control sends a read-phase pulse through the 
decoders to cause reading. The word 101011 is stored in the chosen cores. 
During reading the cores storing one’s produce output pulses whereas 
the others do not. The sense amplifiers convert these pulses to standard 
pulses representing one’s. Thus at the output is found 101011. The 
one’s also set the flip-flops shown. When the timing control switches to 
the write phase, these one’s are rewritten into the cores from which they 
were read out. 

The cathode-ray-tube memory works in a similar fashion except that 
information must be rewritten constantly because of the volatility of the 
cathode-ray tube. 


Magnetic-Drum Memory 

An example of a cyclic access memory is the magnetic-drum memory 
shown in Fig. 126. The drum is divided into five bands, each band con¬ 
sisting of five tracks and storing 20 words. The words are nine 5-bit 
digits long; but ten digit spaces are provided in each row to allow space 


Output 


Input 



Fig. 126. Magnetic-drum memory. 


between words (Fig. 127). It takes 20 word-times to complete one revo¬ 
lution of the drum. In other words, every 200 bit-times the same digit 
space appears at the heads of any one band. 

The column address decoder chooses one of the five bands as deter¬ 
mined by the column address digits in the instruction. The row address 
comparison circuit together with the modulo-10 counter and the word-time 
counter determines the point in time when the chosen band is opened for 
writing or reading. 

Each symbol for read-write head, gate, and amplifier represents five 










270 


FUNCTIONAL UNITS 



c/5 

u 








MEMORY 271 

such components, one for each track in a band. The read lines are con¬ 
nected to gates (in practice these gates also amplify) and the outputs of all 
the gates are fed to a group of five read amplifiers. Similarly one group of 
five write amplifiers feeds the gates to each of the bands. 

The memory operates as follows. When the command portion of the 
instruction calls for a write operation, a write pulse opens the five write 
amplifiers for a period of a word-time. At the same time, the column 
address decoder decodes the column address and places an alerting signal 
to both the read and write gates of the chosen band. 

The row address is fed to the row address comparison circuit where it is 
compared with the output of a word-time counter. The word-time 
counter is fed from a modulo-10 counter which, in turn, is fed by a clock. 
Starting with the reference point on the drum, the clock produces one 
pulse per bit-time in synchronism with the appearance at a head of each 
successive bit on a drum track. After each group of 10 bits, the modulo-10 
counter produces a pulse indicating that a word-time has passed. This 
pulse steps the word-time counter which thus always stores the word-time 
representing the row presently under the heads. When the contents of the 
word-time counter are the same as the contents of the row address portion 
of the instruction register, the row address comparison circuit produces a 
signal which opens the chosen band write gate to allow the nine digits of 
the word to be written into the memory. 

Reading is performed in a similar manner except that the read amplifiers 
are activated by a read subcommand. 

It is possible to simplify the row address circuits considerably by 
properly utilizing extra tracks on the drum. By permanently storing 
1-bits in each bit space of a timing track, these pulses can be read as 
clock pulses. No separate clock circuit is needed. By storing a one 
pulse in each row of another track, these may be read as word-time pulses. 
No separate modulo-10 counter is needed. It is even possible to do away 
with the word-time counter by -storing the word-time on each row of a 
separate track. The clock pulses and word-time pulses may be used for 
control functions too. 

A drum constructed in this manner is shown in Fig. 127. Please note 
that the number actually stored in each word space of the word-time track 
does not represent the word-time for the row in which it appears but for 
the following row. The reason for this is that it takes a word-time for 
the comparison to take place. Since the drum rotates during this word¬ 
time, at coincidence the drum is ready for writing into or reading from 
the following row. 

The illustration shows the drum storing 987654321 in band 3, row 4. 
This word is read by placing into the machine an instruction reading 









272 FUNCTIONAL UNITS 

“read 304” where the first digit represents the band and the next two digits 
the row. The band address decoder alerts the gates feeding the band-3 
heads. Now if row 0 is under the head when band selection occurs, word¬ 
time number 1 is fed to the comparison circuit. Since no coincidence 
occurs, no reading takes place. No coincidence occurs until row 3 passes 
under the heads. As soon as coincidence occurs the gates of band 3 open 
to allow the reading of row 4. The gates are open for nine bit-times. 

Another cyclic access storage device, the mercury tank, is similar in 
operation. 

SUMMARY 

1. The memory is a multiword storage device which is internal and erasable. 
It is accessible storage. 

2. Memory consists of a storage device to store many words; address selection 
circuits to find word locations in storage; write circuits to convert machine bits 
into pulses which can activate the storage cells; and read circuits which convert 
storage output pulses to machine bits. 

3. Storage devices are best classified according to method of access as follows: 

a. Coordinate. 

b. Cyclic. 

c. Sequential. 

Coordinate and cyclic access storage devices are used for memories. Sequential 
access storage devices are usually used for external storage as part of the input 
and output system. 

4. Storage cells in the coordinate access system are arranged in space. Only 
address decoders are needed to locate words. Storage cells in the cyclic access 
system are located in the time as well as space. The address in time is located by 
means of counting and comparison circuits. 

5. The coordinate access memory is best for use with a machine using parallel 
transmission of information. The cyclic access memory is best for use in a 
machine using serial or serial-parallel transmission of information. If a co¬ 
ordinate access memory is used with a serial machine, a buffer register is placed 
between the other registers and the memory. 

6 . A complete block of words may be transferred from the input unit to 
memory. A counter is used to keep tab of the number of words transferred and 
to see that each successive word is fed to a succeeding address. 

7. Definitions to Remember 

STATIC STORAGE —A storage device which stores bits by staying in one of 
several stable states. 

DYNAMIC STORAGE —A storage device which stores bits by continuous 
recirculation of a wave or other physical phenomena. 

ERASABLE STORAGE —Storage in which bits may be replaced by other bits. 

NONERASABLE STORAGE —Storage which does not allow bits to be 
erased. 

VOLATILE STORAGE —Storage which loses its information with time or 
when the power is turned off. 


MEMORY 273 

NONVOLATILE STORAGE —Storage which does not lose its information 
even when the power is turned off. 

DESTRUCTIVE READ-OUT —Storage in which the information is changed 
when it is read out. 

NONDESTRUCTIVE READ-OUT —Storage in which bits remain stored even 
after they are read out. 

CYCLE TIME —The time between references to a storage device. 

LATENCY —The time it takes to find an address in a storage device. 

ACCESS TIME —The time it takes to complete a transfer to or from a storage 
device. 

RANDOM ACCESS DEVICE —A device in which it takes as long to obtain 
access to one address as it does to any other address. 

CLOCK —A circuit or some physical arrangement which produces pulses at a 
steady rate. 

WORD-TIME —The time it takes for a word space to pass by a certain point. 

COORDINATE ACCESS STORAGE —A storage device whose individual 
locations are arranged in space. 

CYCLIC ACCESS STORAGE —A storage device whose individual locations 
are arranged in time (as well as in space) in such a manner that access to any one 
location may be obtained repeated y at a certain rate. 

SEQUENTIAL ACCESS STORAGE —A storage device whose individual 
locations are arranged in time in such a manner that access to any one location 
may be normally obtained only once during an operation. 


INPUT-OUTPUT 


275 


Peripheral 

equipments 

A 

i 



CHAPTER 13 

Input-output system 


The input-output system consists of three parts: 

1. Input and output units. 

2. Auxiliary units. 

3. Peripheral equipment. 

The input and output units are internal functional parts of the com¬ 
puter. The auxiliaries are links between the computer and the outside 
world. The peripheral equipment is needed to make the operation of the 
computer more efficient and more meaningful. 

The input unit consists of an input register plus associated input control 
circuits. The input unit receives signals from the control unit whenever a 

274 


word or a group of words is to be entered into the machine. The input 
unit also makes incoming information more palatable to the rest of the 
computer. 

The output unit consists of an output register plus associated output 
control circuits. The output unit receives signals from the control unit 
whenever a word or a group of words is to be removed from the machine. 
The output unit also modifies information so it can be more readily applied 
to the output auxiliaries. 

Auxiliary devices either feed information into the computer or take 
information out of the computer. These auxiliary devices are of two 
general types: 

Direct—analog as well as digital. 

Linked with external storage. 

The direct digital device communicates directly between man and 
machine. It may take the form of a keyboard for manually entering 
instruction or data words. It may be a printer which prints results of 
computations onto paper or a group of display lights on the control 
panel indicating the contents of internal registers. 

The analog input auxiliary accepts analog information and converts 
it to digital form for entry into the input register. The analog output 
auxiliary receives digital information from the output register and converts 
it to analog form. The first device is called an analog-to-digital converter; 
the second is called a digital-to-analog converter. 

The input auxiliary linked with digital storage reads information from 
external digital storage and feeds it into the input register. The digital 
output auxiliary accepts information from the output register and writes it 
onto external storage. Examples of such input and output auxiliaries are 
magnetic tape, punched paper tape, and punched-card readers and writers. 

The peripheral equipment is concerned mainly with external digital 
storage. Recorders are used by operators to place information into 
external storage. An example is a device which writes words onto magnetic 
tape when keys of a keyboard are operated. Converters transform 
information stored in one form to information stored in another form. 
An example is the punched-card-to-magnetic-tape converter. Communica¬ 
tion devices are used to send information to or from external storage. 
An example is teletype. 

INPUT AND OUTPUT UNITS 

The input and output units are integral portions of the digital computer. 
Under direction of the control unit they determine the shape, sequence, 









276 FUNCTIONAL UNITS 

speed, and time of arrival of bits and words as they are transferred between 
the computer and auxiliary devices. 

Input and Output Registers 

Input and output registers are essentially buffers between the computer 
and auxiliary devices. Auxiliary devices operate at much slower and more 
erratic speeds than do computers. The buffers make them compatible. 

Words are transmitted from input auxiliaries to the buffer and then 
from the buffer to other points in the computer. This operation may be 
performed in one of two ways: either entirely under control of the program 
or partially under control of the program. In the first case, the instruction 
sends a signal to activate the auxiliary unit which transmits information to 
the buffer; as soon as the buffer is full, its contents are emptied into the 
address given by the instruction. In the second case, words may be entered 
into a register either automatically or by hand; an instruction in the 
program tests the status of the register and, if it is full, transfers its contents 
to the given address. Similar remarks apply to output auxiliaries. 

When entering information from external storage or removing informa¬ 
tion to be written onto external storage, transfer of more than one word 
at a time may occur. In this case, one word is transferred to the buffer 
and then removed; this is followed by a transfer of another word in a 
similar manner. Some type of counter is needed to monitor this operation. 

Most large, general-purpose digital computers possess many auxiliary 
devices. This would imply that a different buffer is needed for each 
auxiliary. This is not necessarily so. If the auxiliaries are used at different 
times, they may all utilize the same buffer. 

Input and Output Controls 

The input and output control circuits make the input and output 
registers act as more than mere buffers. They cause the input and output 
units to perform the following functions: 

1. Synchronization —Ascertaining that all bits from auxiliaries enter 
the computer at a time which will not cause interference with computer 
operation. 

2. Ordering of information— Reversing the order of bit flow from LSD 
first to MSD first. The former is the normal way of entering bits by 
keyboard; the latter is the manner in which the computer handles bits 
internally. Rearrangement in the opposite sense may occur on output. 

3. Deletion or insertion of information —Extra bits appearing on a 
punched card to aid in punched-card processing, for instance, are removed 


INPUT-OUTPUT 277 

before entry into the computer. Extra bits, an EB symbol on magnetic 
tape, for instance, are inserted before writing the information onto external 
storage. 

4. Matching auxiliaries to computer —Prevention of the loss of time 
which would occur if the fast computer were to wait for the slow 
auxiliaries. 

Each of these functions is discussed in more detail in the following. 

Synchronization 

An external reader operates at a certain frequency. While it is reading 
information bits, it may also be reading input timing pulses at the fre¬ 
quency of reading. These input timing pulses are needed to cause the bits 
to be shifted into the input register. The input timing pulses and the 
internal machine timing pulses occur at different frequencies. The input 
timing pulse may occur at any point in time with reference to a computer 
word-time, and worse, it may occur at a different point in time during each 
word-time. As shown in Fig. 128a, the input timing pulse may occur once 
near machine timing pulse t 0 and the next time near machine timing 
pulse r 2 . The input timing pulse is usually also of different amplitude and 
width. The purpose of the synchronizer is to produce one sync pulse for 
each input timing pulse, to make this pulse occur always at the same point 
in a word-time, and to have it the size of a machine timing pulse. The 
sync pulse, instead of the input timing pulse, is used to shift the bits into 
the input register. 

A logical diagram of a synchronizer is shown in Fig. 1286. It consists 
of two flip-flops, a time delay, and two and circuits. When the input 
timing pulse arrives during the reading of a digit, it sets FFl to one, 
and this output primes A v When the machine timing pulse t 0 arrives, 
A 1 opens and allows FFl to be set to one. One bit-time later, as deter¬ 
mined by the delay element, A 2 is primed. When during the next word¬ 
time t 0 occurs again, a sync pulse is produced. Thus, slightly over a 
word-time after the arrival of the input timing pulse, a sync pulse is produced, 
which occurs always at time t 0 , and which has the same amplitude and 
width as a machine timing pulse. (See Fig. 128c.) 

When a sync pulse is produced, it is used to reset FFl and FFl to ready 
the synchronizer for the next input timing pulse. 

Why do we need FFl and the delay element to delay development of 
the sync pulse for a word-time? Does not the output of A x meet all the 
requirements of a sync pulse? It does, except that we cannot be positive 
that one sync pulse would be produced for each input timing pulse. For 
instance, if the trailing edge of the machine timing pulse should arrive at 


FUNCTIONAL UNITS 


INPUT-OUTPUT 


279 


278 


Machine 

timing 

pulses 

Input 

timing 

pulses 


buuuuuuuuu^^ 


Word-time 


J1 


Word-time 


n 


Word-time 


n 


Word-time 


n 


(a) 


Machine JL 


(b) 



Sync 

pulse 


Machine 
timing 
pulses Oq) 

I n put 

timing 

pulses 

FF1 


FF2 

D 

Sync 
pulses 


(c) 



-Word-time- > 

ri 

-<-Word-time 

n_ 

1 _ 


n 












1 












| 





i _ 






Fig. 128. Synchronizer, (a) Comparison of clock and input timing pulses, (b) Block 
diagram, (c) Timing chart. 


A x at the same time that the leading edge of the input timing pulse is 
applied to FFl, the output of A x may be too small to be effective. No sync 
pulse would occur. 

To be sure of producing one sync pulse for each input timing pulse, we 
allow the output of A 1 a word-time to flip FF2 to one. If the A 1 output 
is large enough, FF2 flips; during the following word-time, / 0 produces a 
sync pulse. If the A 2 output is too small, FF2 does not flip during the 
word-time and no sync pulse is produced. But during the following 


word-time FF2 does flip and a sync pulse is produced during the word-time 
after that. Thus at least one and never more than one sync pulse is 

produced for each input timing pulse. 

In this system the input timing pulse must be between two widths: the 
minimum is somewhat larger than the width of a machine timing pulse, 
and the maximum is the size of the interval between applied machine 
timing pulses. In the above example, this interval is a word-time. The 
interval may be doubled by applying the machine timing pulse during 
every other word-time. 

Ordering the Information 

Words are brought into the computer as shown in Fig. 129. As the 
reader operates, it sends information pulses to the input gate and input 
timing pulses to the synchronizer. At about the time the information 
reaches the input register, the sync pulse shifts it in. After each succeeding 
bit is shifted in, the bits that have entered before are shifted one place to 
the right. As this shifting operation occurs, the sync pulses are counted. 
After ten counts representing the ten bits of a word, the counter produces 
a pulse which sets the read-out flip-flop. The output of this flip-flop allows 
the computer clock pulses to shift the bits out of the register through the 
output gate. 

The counter in this arrangement counts the number of bits per word 
and then signals when read-out may occur. The input register itself may 
be made to perform the counting. Before information enters the input 
register, a one is inserted in the MSD of the register. As each bit enters 
the register and is shifted right, so is this one bit. When the last bit is 
shifted in, the one is shifted out to set a flip-flop indicating that the register 
is full. (See Fig. 1296.) 

The above method of reading in information is satisfactory when the 
digits are arriving with the LSD first and the MSD last. But when digits 
arrive with the MSD first and the LSD last—this is the order in which 
humans write—the order in the register must be reversed. This may be 
accomplished by performing a left shift each time a bit enters the register. 
The procedure is shown graphically in Fig. 129c. The MSD is applied 
to the most significant end of the register. After a circular left shift 
(considering the register as a recirculating device), this bit appears in the 
LSD. The second bit is fed to the MSD, and after a left-shift operation, 
it appears in the LSD. At the same time, the previous bit appears in the 
next to least significant position. This procedure continues until the last 
bit enters the MSD and is shifted to the LSD, and all the other bits are 
arranged in the proper order in the register. 










280 


FUNCTIONAL UNITS 


INPUT-OUTPUT 


281 



(a) 


Before read-in 



Operation 

complete 


(b) 


LSD MSD 



MSD LSD 


(c) 


Read-in MSD 
Circular left shift 
Read-in next to MSD 
Circular left shift 

Read-in LSD 
Circular left shift 


Fig. 129. Entering and ordering input information, (a) Reading into and out of input 
register, (b) Using register as word counter, (c) Rearranging the information. 


Matching Input-Output to Computer 

Since input and output devices operate at a slower frequency than the 
computer, means must be found to prevent waste of time while the external 
devices are operating. The following are several methods which have been 
used: 

1. Programmed delay. 

2. Independent input-output operation. 


3. Multiplexing. 

4. Reading in a block at a time. 

Programmed delay. A good part of the lost time occurs because of 
the warm-up time required by auxiliary devices. To reduce the time lost, 
reading and writing of auxiliary devices are accomplished by means of two 
instructions: one to turn on the device, the other to read or write. Other 
instructions are sandwiched in during the warm-up interval. 

Independent operation. A more efficient matching of input-output 
auxiliaries to the computer may be obtained by operating the auxiliaries 
independently of the computer. At the same time that the computer is 
performing instructions calling for calculations, the auxiliaries may be 
transferring information to and from the machine. . This technique is 
effective provided interlocks are included to prevent the two routines from 
interfering with each other. 

One method of obtaining independent input operation without inter¬ 
ference is shown in Fig. 130. The circuit consists of an input register into 
which the reader output is shifted by means of sync pulses, and from which 
the bits are shifted out by means of clock pulses. The read-in is accom¬ 
plished when the read-in flip-flop is set; and the read-out is accomplished 
when the read-out flip-flop is set. The register-full and the register-in-use 
flip-flops are the interlocks. 

The input operation is accomplished by means of two instructions. The 
first activates the reader and reads a word into the input register. As soon 
as the reader is activated, an end-of-operation pulse is produced to signal 
the computer to continue with its program. The second instruction, which 
occurs later in the program, is a sampling-type instruction. It tells the 
computer to look at the input register. If the register is full, the register 
is emptied into the location specified by the address portion of the instruc¬ 
tion. If the register is not full, the machine is made to sequence to the 
next instruction. Another similar sampling instruction may be included 
later in the program to transfer the information if the first instruction did 
not perform the transfer. 

The circuit works as follows. The read-in instruction produces a pulse 
which primes A 6 and A 1 . If the register-in-use flip-flop is set, a signal is 
fed to the control unit to cause the machine to sequence to the next 
instruction. If the register-in-use flip-flop is reset, A 7 produces an output 
which sets the read-in flip-flop; the read-in flip-flop, in turn, operates the 
reader, and sends a signal to the control unit telling it to continue 
instruction sequencing. 

When the reader is in operating order, information pulses are applied 
to A, and input timing pulses to A v The input timing pulses combine 











282 


FUNCTIONAL UNITS 


INPUT-OUTPUT 


283 



Ih 

0> 

3 

Dh 

£ 

o 

o 


a 

T3 

C 

oJ 


C 

3 

tl) 

C 

‘<s> 

(A 

<u 

o 

O 

u. 

O* 

i 

-*-* 

3 

Oh 

i 


J5 

<U 

o 

c 

a 

<u 


5X0 

C 

c 

<L> 

> 

<U 


ro 


with machine timing pulses in the synchronizer to produce sync pulses. 
As soon as the first sync pulse is produced the register in use flip-flop is set 
to make sure that no other read-in instruction may be effective. The sync 
pulses shift the information bits into the input register; at the same time 
they are counted by the word counter. As soon as a complete word is in 
the register, the word counter produces a pulse which resets the read-in 
flip-flop to stop the read-in operation, and sets the register full flip-flop to 
inform the machine that now the register is ready to transfer out a word. 

The read-out instruction produces a signal which is applied to and 
A 5 . If the register-full flip-flop is reset, A 5 produces a pulse which causes 
instruction sequencing. If the register-full flip-flop is set, A± produces a 
pulse which sets the read-out flip-flop. The setting of the read-out flip-flop 
primes A s to allow clock pulses to shift the information out of the register. 
Upon completion of this operation, the two interlock flip-flops and the 
read-out flip-flop are reset in preparation for the next read-in instruction. 

In some machines a register is provided which is filled automatically 
from an outside source at a certain slow rate. A sampling instruction 
similar to the instruction discussed above is then used to feed the word 
into memory. Many other variations of this basic scheme are possible. 

Multiplexing. Another way to increase the effective rate of input 
and output is by connecting several auxiliaries of a kind to one computer. 
This arrangement is often made when magnetic tape is the external 
storage medium. While one tape handler is rewinding tape, another tape 
handler may be reading and feeding information into the input register; 
and still another tape handler may be writing computer output information. 

Instead of multiplexing auxiliary devices, several input or output 
registers may be used to speed external communication. A word may be 
fed from a reader into an input register. When this register is full, it is 
emptied into memory. While being emptied, the following word is fed 
from the reader into the second input register. As soon as read-in of the 
first register is complete, the second register is emptied into memory while 
the first register is filled with the next word from the reader, etc. 

Read-in of block. To reduce the relative time consumed by warm¬ 
up of an auxiliary such as magnetic tape, information is usually fed to 
and from tape handlers in block form. Successive words of the block are 
fed to successive memory locations. Now, if computer operation is to go 
on independently of the block transfer, an interlock must be provided to 
prevent instructions from referring to addresses in memory that are between 
the address currently being used and the final address to be used. Such 
an interlock circuit is shown in Fig. 131. It consists of current and final 
address registers, two comparison circuits, and a flip-flop. The address pro¬ 
grammed into a possibly interfering instruction is fed to both comparison 









284 


FUNCTIONAL UNITS 



Delay 

execution 

of 

instruction 



n 

P-C = minus; no interference 

Y 

= Current address (C) = 

t 

P-C = plus ) . 

F-P = plus ) inte Terence 

I 

- Final address (F) — 


F-P = minus; no interference 

i 

(b) 

Fig. 131. Memory interlock during block transfer. ( a ) Block diagram. ( b ) Relation¬ 
ships among programmed, current, and final addresses. 

circuits. In the first, the current address C is subtracted from the 
programmed address P. If the difference P — C is negative, it means that 
the programmed address is smaller, and that it occurs outside the area of 
possible interference. The flip-flop is reset, allowing the instruction to be 
performed. If the difference P — C is plus (0 is considered to be plus) 


INPUT-OUTPUT 285 

it means the programmed address occurs within the area of possible 
interference. The flip flop is set, delaying the performance of the instruc¬ 
tion. In the second comparison circuit, the programmed address P 
is subtracted from the final address F. If the difference F — P is negative, 
the programmed address is larger and thus occurs outside the area of 
possible interference; the flip-flop is reset. If the difference F—P is 
positive, it means that the programmed address occurs within the area of 
possible interference; the flip-flop is set, and execution of the instruction 
is delayed until the block input instruction is completed. 

Insertion or Deletion of Information 

Information may be inserted by means of a generator. A pulse applied 
to the generator causes the generator to produce an appropriate signal 
combination. This technique is often used when an EB symbol must be 
added onto the end of a group of words leaving the computer to be read 
into the output auxiliary. 

Information may be removed by means of a detector. A detector looks 
for a certain combination or a certain group of combinations of signals. 
If these appear, the detector produces a pulse which inhibits the flow of these 

coded combinations. 


EXTERNAL STORAGE 

External digital storage is different from the type of storage required for 
memory. In the memory the emphasis is on accessibility. In external 
storage the emphasis is on capacity. As a rule, the greater the capacity, 
the longer the access time. So the choice between the two characteristics 
is always a compromise. 

Because the emphasis is on capacity even at the expense of access time, 
most storage devices used for external storage are of the sequential access 

type. . t 

Sequential access storage devices may be of two kinds: those storing 

continuous records and those storing unit records. Examples of con¬ 
tinuous-record and unit-record storage devices are given in Table 21. 

The unit record lends itself to manual filing and sorting as well as to 
automatic sorting. The continuous record, on the other hand, cannot be 
sorted manually, only automatically: words are read, compared, and then 
rewritten onto another continuous record. The continuous record, 
however, lends itself to faster feeding of information into and out of the 
computer. 









286 


FUNCTIONAL UNITS 


INPUT-OUTPUT 


287 


TABLE 21 

Sequential Access Storage Devices 
Continuous Record Unit Record 


Magnetic tape Punched cards 

Punched paper tape Magnetic cards 

Film Microfilm cards 


INPUT AND OUTPUT AUXILIARIES 

External Storage Readers and Writers 

Readers act as links between external storage and the input register. 
Writers act as links between the output register and external storage. 

After an operator puts a roll of tape or a bunch of punched cards into 
the reader, the computer may be started. Instructions in the program, 
or as determined by the control panel, activate the reader and allow it to 
feed words into the input register and from there to the arithmetic or 
memory units. Instructions are also available for feeding in blocks 
or groups of blocks, or the information stored in only certain fields 
on punched cards or the information stored on a group of punched 
cards. 

Similarly, after the operator places a set of blank cards into the punch, 
or a roll of magnetic tape into the magnetic-tape writer, the computer may 
be operated. Instructions in the program, or as determined by the control 
panel, activate the writer or punch to allow it to accept words coming from 
the memory or arithmetic units via the output register. 

When magnetic tape is used for external storage, one handler is utilized 
for writing and for reading. In both cases the magnetic tape is moved with 
reference to the heads. Write heads are activated for writing and read 
heads are activated for reading. Most other auxiliary devices have 
separate readers and writers. 

Magnetic Drum 

Although it is a cyclic access device, the magnetic drum is occasionally 
used as an input-output device because it is capable of high-capacity 
storage. The drum does not possess items, either continuous records or 
unit records, which may be detached and filed. In essence the drum acts 
as an extension of the internal memory. 


Direct 

By means of a keyboard, words or parts of words may be fed directly 
into the computer. As any one key is depressed, a mechanical encoder 
causes an electric-code combination representing the chosen character 
to be fed to the input register. As each successive key is depressed, the bit 
combination enters the input register and previous character combinations 
are shifted further along in the register. After a complete word is entered, 
the computer transfers the information to memory or to the arithmetic 
unit. Transfer of this information to another part of the machine 
may be under control of a switch on the panel or under control of the 
program. 

Results of computations are usually stored in memory. Output instruc¬ 
tions transfer these words to the output register and from there to an 
output printer. At the printer the words are decoded and solenoids are 
activated to cause the characters to be printed on paper. 

There are usually groups of display lights on the computer panel to 
indicate the contents of the important registers at any time. Each display 
light may be a neon lamp connected to one of the storage cells of a register. 
When the storage cell to which the neon is connected is storing a one, the 
neon lights; when it is storing a zero, the neon does not light. Thus 
the neons flicker on and off according to the changing pattern of the 
bits running through the machine. When machine operation halts, the 
final contents of the registers are shown by the display lights. This 
feature is useful for checking out a program of instructions and for 
trouble shooting. 


ANALOG-TO-DIGITAL CONVERTERS AND DIGITAL- 
TO-ANALOG CONVERTERS 

Some inputs to the computer may arrive in analog form. This analog 
information arrives from natural phenomena being studied by scientists, or 
from physical processes occurring in industry. Some analog quantities 
which we may want to measure and apply directly to a digital computer arc 
pressure, temperature, humidity, flow of a liquid, stress, speed of movement 
or of rotation. To feed such information directly into a computer we need 
an analog-to-digital converter. 

At the output end of the computer, a digital-to-analog converter may 
be needed to convert digital results of calculations into graphical form, 
or into continuous power for controlling an output mechanism. 


288 FUNCTIONAL UNITS 

Analog-to-Digital Converters 

Analog-to-digital converters may be of several types. Herein only a 
typical electrically operated and a typical mechanically operated converter 
are discussed. 



Digital 

output 




(b) 

Fig. 132. Analog-to-digital converter, electrically operated, (a) Block diagram. 
(6) Waveforms. 

The electrically operated encoder to be discussed uses a time-encoding 
technique. In this technique the amplitude of an electric signal is converted 
into an equivalent time. The time is then converted into an equivalent 
binary number. 

A simplified block diagram of such a time-encoding converter is shown 
in Fig. 132. It consists of a linear sweep-voltage generator which forms 
the basis for our timing; a clock for counting bits of time; a voltage 
comparator for comparing the analog voltage with the sweep voltage; 
a binary counter for determining the binary number equivalent to the 
analog voltage; and a modulus counter for triggering the next sweep. 

The conversion of an analog voltage to a digital number starts at the 
sweep’s baseline (point A). As long as a sweep voltage is present at the 


INPUT-OUTPUT 289 

gate, clock pulses go through it to the proportional-value counter. When 
coincidence is achieved between the sweep voltage and the analog input 
voltage (point B ), the voltage comparator produces a pulse which inhibits 
the gate, thus preventing clock pulses from further stepping the propor¬ 
tional-value counter. This counter thus stores a binary number whose 
value is proportional to the time between A and B , or whose value is 
proportional to the input analog voltage. 



Fig. 133. Analog-to-digital converter, mechanically operated. 

The full-scale counter is a modulus-type counter, and is stepped each 
time the proportional-value counter is stepped. After point B , the full- 
scale counter continues to be stepped until it reaches a count representing 
the full scale of the sweep. At this point, the modulus counter produces a 
pulse which allows the contents of the proportional-value counter to be 
read out. This pulse also clears both counters and causes the sweep-voltage 
generator to start the next sweep. During the following sweep, the analog 
voltage is sampled again and is converted to a binary number. The 
frequency of sampling may be determined by the frequency of the sweep. 

A simple mechanically operated converter may be built by encoding 
a physical representation of a code onto a disk rotated by a shaft. Figure 
133 shows a disk with such a binary pattern. The dark areas represent 
conducting surfaces and the light areas insulating surfaces. An electric 
brush connected to a source of power is in contact with each channel. 
As the shaft rotates, current flows through some channels and not through 
others, depending on the configuration of conducting and insulating areas. 

















290 FUNCTIONAL UNITS 

The illustration shows the disk stopped in a position to cause the 
brushes to read 0100: only the brush in the second inner channel is on a 
conducting surface and thus conducts current. 


Digital-to-Analog Converters 

A digital-to-analog converter may be built by a process of weighting. 
This process is outlined in Fig. 134 for a 3-bit number. Switches are used 
in each bit position to connect a battery or not, depending upon whether 




5 v 

output 



Fig. 134. Digital-to-analog converter. 

there is a one or a zero in that position. The battery voltages are pro¬ 
portional to the weights of the associated bit positions. The illustration 
shows that, for the binary combination 101, the 4-v battery and the 1-v 
battery are in series to produce an analog output of 5 v. 

Of course, practical circuits are not built this way. The bits may be 
stored in flip-flops. The switches may be transistor switches activated by 
the outputs of the flip-flops. The actual summing of voltages may be 
obtained by the proper use of resistor networks. 


PERIPHERAL EQUIPMENT 

All the external devices discussed up to now are operated on line. 
By “on line” we mean that the devices are tied in directly with the com¬ 
puter. Information flows in an unbroken stream from the auxiliary input 
devices to the computer, and from the computer to the auxiliary output 
devices. 

Some operations are best performed off line. An off-line operation is 
one performed at a time which bears no relationship with the computer 


INPUT-OUTPUT 291 

operation. For instance, after the computer goes through a program 
and places the results on magnetic tape, the magnetic tape may be removed 
and information on the magnetic tape may be transferred onto punched 
cards. On-line operation is related to continuous processing; off-line 
operation is related to batch processing. 

The peripheral equipment used in off-line operation falls into several 
categories as follows: 

1. Recorders. 

2. Converters. 

3. High-speed printers. 

4. Communication devices. 

Each is discussed briefly below. 

Recorders 

Means are required to record information onto the external storage 
medium before entry into the computer. For magnetic tape, typewriter¬ 
like devices are used to write coded information on the tape. As each key 
is depressed, a mechanical encoder produces the correct combination of 
pulses to be fed through write amplifiers to write the coded combinations 
on the tape. A similar arrangement is used to write on punched paper 
tape, except that here a coded mechanical output punches holes in the 
appropriate spots on the paper. 

In a typical practical application such as the summarizing of department 
store sales, clerks transcribe information from cash register tapes onto 
punched paper or onto magnetic tape by means of recorders. Once a tape 
is prepared, it is mounted on the tape handler for feeding into the computer 
for processing. To avoid the slow, manual transcribing step, point-of-sale 
recorders have been developed. At the same time that the saleslady rings 
up a purchase on the cash register, the record of the sale is automatically 
punched on paper. At the end of the day, the information on the punched 
paper tape is fed directly to the computer by means of a paper-tape 
reader. The point-of-sale recorder introduces an extra degree of automa¬ 
tion into data processing. 

Converters 

Converters are available which can convert information stored on 
almost any external storage medium to information stored on any other. 
One of the best input-output auxiliary devices developed up to now is the 
magnetic tape handler. However, many business firms have complete 
punched-card systems. By means of a punched-card-to-magnetic-tapc 
converter, the information on the cards may be transferred to the magnetic 


292 


FUNCTIONAL UNITS 



CD 

MO 

o £ 
0) 


o 

Id 

"tT) 

ClO 

c 

• 

“O 

CD 

0) 

i- 

I 

"O 

k- 

<D 

o 


o 

00 


cn 


rr 


C\J 


CO 


jndjno — 


A A 

CsJ 


0) 

CL 

<D 

4—' 

CD 

4-* 

CD 

> 

► 

4-* 

o 




ho 


o 

o 

o 

00 

I 


^ <D 

a) txo 
3= 2 

=5 O 

“ t) 


CO 


CM 


-M0J Z\ — 


AAA 


ho 


h=0 


-^ CM, 


■ 

r\ i 

- * 

m 

a * 

V » 



r-H 



-a £ 

0) S' 

(D Q- 
LL. O 


HO 


T) 4^ T1 

aJ x l 
<1) <D (D 
L. C O 


O 

00 


cn 

i 

i 


co 


C\J 


a; 


o 

o 

00 


o 

o 




l/> 

CD 

c/> 


Q- 

00 


CD 

Q- 

CD 



INPUT-OUTPUT 293 

tape. Similarly, there are punched-card-to-punched-paper-tape converters, 
checks-to-paper-tape converters, checks-to-magnetic-tape converters, mag- 
netic-tape-to-punched-cards converters, etc. 

Only the punched-card-to-magnetic-tape converter is discussed here. 
The general principles of operation of other converters are similar. 

In broad outline, the punched-card-to-magnetic-tape converter works as 
follows. A punched-card reader transfers the information stored on the 
punched card to buffer storage. A tape-handling device then transfers the 
information stored in the buffer to magnetic tape. A plugboard attached 
to the buffer storage enables us to rearrange, delete, or insert information 
to be written onto the tape. 

A simplified block diagram of a punched-card-to-magnetic-tape con¬ 
verter is shown in Fig. 135. It has an 80-column 12-row buffer storage, 
a profile of a punched card. A row counter at the input side regulates 
the read-in operation a row at a time. A column counter at the output 
side regulates the read-out operation a column at a time. 

The converter operates as follows. From the feed hopper punched 
cards are fed to the reading station one at a time. Each card is applied 
so that the top side hits the row of 80 reading brushes first. When the 
card is in the first-row reading position, the row counter produces a 
pulse which allows this row of information to be fed to the first row of 
80 storage cells in buffer storage. As each succeeding row of the card 
is read, the row counter is stepped to produce a signal which allows 
the information to be applied to a succeeding row of storage cells in the 
buffer. 

After the 12th row is read, a signal activates the tape handler. A 
cycling device in the tape handler produces tape timing pulses which step 
the column counter. As the column counter is stepped, the information 
in another column of buffer storage cells is fed through a digit encoder 
and write amplifiers to the magnetic tape. After the 80th column is 
written onto the tape, a signal applied to the feed hopper starts the next 
cycle of operation. 

Note that the buffer storage in this case effectively rotates the punched 
card by 90°. Read-in is by row since less time is required to read 12 rows 
than would be required to read 80 columns. But read-out must be column 
by column since digits are stored in columns. 

To provide flexibility to the converter, a plugboard is connected between 
buffer storage and the digit encoder. The plugboard enables the operator 
to modify the sequence of writing onto the magnetic tape. By failing to 
wire certain buffer cells to the digit encoder, words may be deleted from 
the tape. By wiring to the digit encoder signals generated from outside 
sources, extra words may be inserted onto the tape. 




























294 FUNCTIONAL UNITS 

High-Speed Printers 

A printer which reads the computer output directly usually prints a 
character at a time. A printer which is used for off-line operation may read 
a complete line at a time or at least during a small cycle of operation. 
The off-line printer operates at high speed. Mechanical printers which can 
print up to 5000 lines per minute have been developed. The off-line printer 
is actually a converter. It converts information stored on the external 
storage medium to the printed word. 



Fig. 136. Printer synchronization. 


Since it is a converter, the high-speed off-line printer must possess 
buffer storage which is filled at a rate compatible with external storage, 
and is emptied at a rate determined by the printing device. In addition, 
the high-speed printer which prints a complete line at a time needs a 
special synchronizing arrangement to assure that each character is printed 
in the proper spot across the line. 

Only the block diagram of the type-wheel printer is discussed. General 
operation and synchronization problems of the spinning-disk and matrix- 
type printers are related to those present in the type-wheel printer. 

A simplified block diagram of a magnetic-tape-fed high-speed type- 
wheel printer is shown in Fig. 136. It consists of a buffer storage with a 
counter controlling input from the tape, and a code-wheel-counter- 
comparison-circuit combination controlling the output from bullcr 


INPUT-OUTPUT 


295 


storage. A plugboard and a set of drivers which cause print hammers to 
strike the type wheels complete the block diagram. 

At the start, input timing pulses read from the tape step the counter, 
which then allows each character to enter a succeeding address in the 
buffer storage. Upon completion of read-in, the counter produces a pulse 
which starts the print cycle. 

The print cycle must be synchronized with the rotation of the type 
wheels and code wheel. To be sure of the character we are printing, we 
must start the print cycle at a point in the rotation of the wheels which is 
considered as reference—just before the appearance of the letter a at 
printing position, for instance. Starting at this point, the counter is cleared. 
As each character on the print wheels reaches printing position, the code 
wheel produces a pulse which steps the counter; the counter then produces 
a binary-coded combination representing the character apposing the 
print hammers. This coded combination is applied to a comparison 
circuit. To the other side of the comparison circuit are applied the con¬ 
tents of each character address in the buffer. In'reality, there is a separate 
comparison circuit for each character address. For every location in the 
buffer which is storing the same character as that coming from the counter, 
a pulse is transmitted to the associated driver to activate the desired ham¬ 
mer. If comparison occurs for more than one location in the buffer, 
more than one hammer is struck. As the print wheels make one revolution, 
all the characters have been compared and all the characters on one line 
have been printed. 

The plugboard may be used to rearrange the location of any of the 
characters on the printed line. 


Communication Devices 

Information in external storage may be sent over wire or over radio. 
One of the most common forms of wire communication is teletype. 
Five-hole punched paper tape may be run through teletype which transmits 
the information over wire and causes paper tape at distant points to be 
punched with the same information. Because of the prevalence of teletype 
communication, teletype is often called the common language. Any 
computer which can accept teletype may “speak” to many other devices 
in other parts of the world. 

Many firms have been storing and using punched cards because they 
arc easy to file and can be made understandable to humans as well as to 
machines. To solve the long-distance communication problem, a punched- 
card transmitter-receiver combination has been developed. Punched cards 
are inserted into the transmitter. The transmitter converts the stored 
information into electric pulses which are transmitted over telephone 























296 FUNCTIONAL UNITS 

wire to a distant receiver. The receiver picks up the electric signals and 
causes equivalent holes to be punched into cards. 

Similarly, a magnetic-tape transmitter-receiver combination operating 
over telephone wires has been developed. 


CHECKING 

As was indicated previously, all transfers of information may be checked 
by means of the parity check or by a forbidden-combination check. 

When fixed blocks of information are transfered, checking may take 
the form of counting the number of words in the block. If-a full block is not 
present, or if more than the appropriate number of words is being 
transferred, an indicator lamp lights. 

A recorder may be checked by means of a verifier. A verifier is a device 
which compares the information recorded with the same information being 
mechanically entered by the operator a second time. In magnetic-tape 
recording, for instance, the operator records information on tape and then 
allows the verifier to read this information and to store it in its buffer. 
The operator then operates the keys of the verifier in the same way he 
would operate the keys of the original recorder to enter the same informa¬ 
tion. The verifier compares the two sets of information and lights a 
warning lamp if any discrepancy occurs. 

Converters, printers, and all other devices using buffer storage may be 
checked by means of a comparison check. After the information is read 
into the buffer, the same information is read once more. The second input 
information is compared with the information stored in the buffer from 
the first reading. If the two are the same, the rest of the process continues. 
If the two are not the same, the machine halts and lights an error lamp. 

A modification of this comparison check is used by some punched- 
card-to-magnetic-tape converters. After the information is recorded onto 
the tape, it is read from the tape and compared with the information pre¬ 
viously in the buffer. This check is called an echo check. 

In addition to the above checks, there are checks used in connection 
with certain devices. For instance, pulses may not record reliably at 
certain points on magnetic tape. These bad spots may be distinguished 
by punching a hole before and after the bad spots. A light-photocell 
arrangement on the tape handler may be used to find the holes. The first 
hole sets a flip-flop which inhibits tape reading; the second hole resets 
the flip-flop to allow normal operation to resume. 

A checking arrangement commonly used in punched-card readers is 
called blank-column and double-punch detection. This checking scheme 


INPUT-OUTPUT 297 

is good only when reading digits. Since the digits in each column of a 
card are represented by one punch, the absence of a punch or the presence 
of two punches indicate an error. Blank-column and double-punch 
detection may be easily obtained by having a complementing flip-flop 
associated with each column. At the start of reading, all the flip-flops are 
reset to zero. The presence of a punch in a column flips the flip-flop to one 
and allows the information to be read out. The absence of a punch in a 
column causes the flip-flop to remain reset. The presence of two punches 
causes the flip-flop to set to one, and then to be reset back to zero. In both 
error conditions, read-out is prevented and an alarm lights. 

SUMMARY 

1. The input-output system consists of input-output units which order and 
direct the information within the machine; input-output auxiliaries which form 
a link between the external environment and the computer; and peripheral 
equipment which processes information outside the computer. 

2. The input-output units consist of input-output registers and input and 
output control circuits. The registers operate as buffers, and the input-output 
control circuits perform functions which vary with the application. Functions 
often performed are synchronization, rearrangement of information, insertion 
or deletion of information, and matching the input-output devices to the 
computer. 

3. Matching of input-output devices to the computer is necessary because 
auxiliary devices are usually much slower in operation. To speed up the effective 
communication rate, the following methods have been used: programmed 
delay, independent input-output device operation, multiplexing, and reading in a 
block at a time. 

4. Whenever the input-output system is made to operate at the same time that 
the computer is performing calculations, an interlock for preventing interference 
is needed. This interlocking is accomplished by means of flip-flops, counters, 
and comparators. Flip-flops indicate whether a device is in operation or not; 
counters count digits or words to keep track of a block transfer and to indicate 
when the transfer is completed; comparators are used to indicate whether a 
specified address is in an area of potential interference or not. 

5. Inputs may be of two kinds: digital and analog. The digital input may be 
directly applied by manipulation of panel controls; or it may be applied from 
external storage. Analog inputs are applied through analog-to-digital converters. 

6 . Outputs too may be required in digital or analog form. Digital outputs may 
be direct in the form of display lights or printed characters; or written onto 
external storage. Analog outputs are obtained by means of digital-to-analog 
converters. 

7. Peripheral equipment is used to communicate between the external storage 
°f ^e computer, on the one hand, and man, other external storage, and long 
distance devices, on the other hand. Communication between man and external 
storage is performed by recorders; between two different types of external 




298 


FUNCTIONAL UNITS 


storage by converters; and long-distance communication by telephone or radio 
transmitters and receivers. 

8 . Redundancy is the main form of check in devices which are part of the 
input-output system. Verifiers compare a newly written tape with one previously 
written. In converters or other devices possessing buffer storage, the information 
in storage may be compared with the information read once more. Information 
recorded may also be compared with the same information still present in buffer 
storage. 

9. Definitions to Remember 

EXTERNAL STORAGE —Information stored on a medium that is not 
permanently connected to the computer. 

READER —A device which translates the information stored on an external 
storage medium into electric pulses which may then be fed to the input register 
of the computer. 

WRITER —A device which translates the electric pulses from the output 
register of a computer into information stored on an external storage medium. 

SYNC PULSE —A pulse produced upon coincidence of an input timing pulse 
from external storage and a machine timing pulse. The sync pulse is used to 
gate the associated digit into the input register. 

UNIT RECORD —A record where a small group of characters is stored as one 
item. Unit records are easy to file. Punched cards are a good example. 

CONTINUOUS RECORD —A record where a long string of information is 
stored on one unit. A good example is magnetic tape. 

BLOCK —A group of words considered or transported as a unit, particularly 
with reference to input and output. 

INTERLOCKING —The process of making sure that when two processes are 
proceeding at the same time, no interaction can occur between the two parts of 
the machine performing each of the two processes. In case of conflict one of the 
processes is made to stop. 

RECORDER —A device which is used to write information manually onto a 
document or storage medium. 

CONVERTER —A device for converting information stored in one form into 
information in another form. 

ON-LINE OPERATION —Operation which is tied directly to computer 
operation. 

OFF-LINE OPERATION —Operation which may proceed concurrently with 
computer operation. 


Input 

Memory 


Arithmetic 

registers 


-^ 

j 

\ 

\ 

|— - 1 

/ 



Arithmetic 

circuits 


Output 

Memory 


CHAPTER 14 

Arithmetic unit 


The majority of computer operations are performed by the arithmetic 
unit. The arithmetic unit consists of several registers for holding operands 
while they are being processed, and of arithmetic circuits working in 
conjunction with the registers to perform addition, subtraction, multi¬ 
plication, division, and other operations. 

The typical arithmetic unit possesses three registers, labeled AR, XR 
and DR for convenience. The A register (AR) is usually the link between 
the arithmetic unit and the rest of the computer: it receives operands and 
transmits results of operations. Read instructions transfer to AR the 
contents of the memory location specified by the address. Write instruc¬ 
tions transfer words present in AR to the memory location specified by 
the address. Other operations such as shifting and taking the square root 
are performed on operands stored in AR. XR receives the second operand 
in an arithmetic operation. DR takes part in the performance of more 
complicated operations such as multiplication and division. 

In some machines inputs may be fed directly to AR. Results may be fed 
directly from AR to the output. 

The arithmetic circuits consist of an adder which performs addition; 
sign or complementing circuits which modify adder operation to perform 
subtraction when required; and control circuits for modifying adder 
operation to adapt it to lengthier operations such as multiplication and 
division. It may also possess checking circuits. 

299 








300 FUNCTIONAL UNITS 

ADDITION 

Adders, Accumulators, and Counters 

An adder is a device which accepts an augend and addend and produces 
a sum. Several general methods are available for accomplishing this 



(a) 



(b) 


Augend 

(before) 


X Register 


Addend 

X ^ ^ ^ ^ 


Gates 


I 1 


n 


A Register 
(counter) 


Sum 

(after) 



Fig. 137. Adders. ( a ) Adders, coincidence type. ( b ) Accumulator, (c) Adder, counter 
type. 


task, among them being the coincidence-type adder and the counter-type 
adder. In the coincidence-type adder (Fig. 137 a), pairs of augend and 
addend bits are fed serially into a binary adder such as that explained in 
Chapter 4. The coincidence of each pair of bits produces an output bit 



ARITHMETIC 301 

which is a one or a zero depending upon the rules of binary addition. 
As it is manufactured, each bit is applied to a sum register. 

The adder output may be fed back to the register from which came the 
augend. If this is done, the latter register is called an “accumulator” 
because, as new numbers are added, the cumulative total may be built up 
in this register. The accumulator is also called the A register or AR (Fig. 

137 b). 

Another method of performing addition is by making AR a counter. 
The augend is applied to AR and causes it to count to this input value. 
The addend is then applied through gates to the counter, causing it to 
step an equivalent number of times to bring the final count to a value equal 
to the sum (Fig. 137c). The operation of this type of adder is analogous 
to the operation of accumulators in mechanical adding machines. 

Serial and Parallel Addition 

When binary numbers are involved, addition of the bits may be accom¬ 
plished serially or in parallel. Examples of each method are shown in 
Fie. 138. 

In serial addition only one bit adder is needed. During the first bit-time, 
the least significant augend and addend bits are applied to the bit adder 
to produce a sum bit and a carry bit. The carry bit is applied through a 
1-bit-time delay circuit to the input side of the bit adder. During the second 
bit-time, the bit adder adds the second least significant augend and addend 
bits plus the carry bit from the least significant position. In each suc¬ 
ceeding bit-time the following bits are added plus any carry from the 
previous position. After a word-time, a complete sum is produced. 

In parallel addition, as many bit adders are needed as there are bits to a 
word. The augend and addend bits in each position are added separately 
to produce all the bits of the sum and carries where appropriate. The 
carries are then applied to following columns to modify the sum. 

If the carry produced in any one column affected only the sum bits 
in the following column, the complete parallel addition could be accom¬ 
plished during two bit-times, one for producing the sum and one for 
modifying the sum with the carries. However, carries may propagate 
as can be seen from the following example: 

0111111 Augend 
+0000001 Addend 

111111 Carries 

1000000 

Although it is much faster, parallel addition is not quite as fast in 






















302 


FUNCTIONAL UNITS 


operation as one would normally suppose. Time is needed for carries to 
propagate. An example of parallel addition with automatic propagation 
of carries is shown in Fig. 139. It consists of an upper row of comple¬ 
menting flip-flops representing stages of the accumulator; a lower row 

MSD-LSD 



(a) 



Fig. 138. Serial and parallel addition. ( a ) Serial. ( b ) Parallel. 

of flip-flops representing stages of the addend register; a series of addition 
gates A x controlled by an add pulse; a series of carry manufacturing 
gates A 3 controlled by a carry pulse; and a series of delays D and gates 
A 2 for controlling automatic carry propagation. 

The adder works as follows. After a number is applied to the addend 
register and another number to the accumulator, an add pulse is applied 


Accumulator 


ARITHMETIC 





Fig. 139. Parallel addition with automatic carry propagation. 





























304 


FUNCTIONAL UNITS 


Order 

4th 


3rd 


2nd 


1st 



(b) 


Fig. 140. Serial-parallel addition of binary-coded decimal numbers, (a) Serial-parallel 
addition, (b) Corrector. 


ARITHMETIC 305 

to all gates A v Those addition gates associated with addend flip-flops 
storing one produce output pulses which flip the associated accumulator 
flip-flop to produce a tentative sum. 

As soon as this tentative sum is produced in the accumulator, a carry 
pulse is applied to all gates A 3 . If the addend flip-flop is storing one and 
the associated accumulator flip-flop is storing zero, signifying that 1 was 
added to 1, a carry pulse is produced by A 3 and fed to the succeeding 
accumulator flip-flop through 0 2 , delay D and 0 V 

If an accumulator flip-flop is storing a one and a carry is being 
applied to it, obviously the flip-flop must be flipped to zero and a carry 
must be propagated to the following stage. These two actions are per¬ 
formed independently. The carry is applied to A 2 which propagates it 
to the following stage. After this occurs, the carry applied through D 

and 0 X flips the accumulator stage. Delay D assures this independent 
action. 

Serial-Parallel Addition and Correctors 

In machines using coded decimal numbers, addition is usually performed 

in a serial-parallel manner. The outline of the method for adding two 

numbers consisting of binary-coded decimal digits is shown in Fig. 140. 

The addend register (XR) and the accumulator (AR) each consist of four 

subregisters, one for each of the four bit orders of a digit. The adder 

consists of four bit adders, one for each bit in a digit, and a corrector. 

The carry is applied through a bit-time delay to the lowest order bit 
adder. 

The four bits of the least significant digit of the augend and addend are 
applied simultaneously to the four bit adders. After carries have propa¬ 
gated through the bit adders, a 4-bit sum digit plus a possible carry bit 
from the fourth-order adder are produced. These bits are modified by 
the corrector; the resultant 4-bit sum is sent to the accumulator, and any 
carry is transmitted through the delay element to arrive at the first-order 
bit adder at the same time that the four bits of the following digit are being 
applied to the bit adders. Succeeding digits are added in a similar manner. 
After a word-time the addition is complete. 

The corrector is required because the rules of binary addition are not 

completely obeyed when adding binary-coded decimal numbers. In the 

addition of binary-coded decimal numbers, the following three general 
situations may occur: 

1. The sum is less than 10: no carry occurs, no carry is needed. 

2. The sum is between 10 and 15: no carry occurs, but a carry is needed. 

3. The sum is 16 or more: a 16's carry occurs, but a 10’s carry is needed. 













306 


FUNCTIONAL UNITS 


ARITHMETIC 


307 


Three examples representing the above three cases are given below: 


1 . 

0100 = 4 
0011 =3 

om = 7 


2 . 

0110 = 6 
1000 = 8 

mo = 14 


3. 

0111 = 7 
1001 = 9 

1 0000 = 16 


In case 1, the result of addition is correct, but in cases 2 and 3 the results 
are incorrect. The corrector is needed to take care of these two cases. 
An example of such a corrector is shown in Fig. 140 b. 

In case 2, no decimal carry is produced but one is needed. To correct for 
this situation, means must be present to detect when the tentative sum is 
between 10 and 15. This can be done if we note that for each of these 
digits a one is present simultaneously in the fourth- and second-order bits 
or in the fourth- and third-order bits; and this situation is not true for 
any other digit. Gate A x in the corrector detects the first situation, and 
T 2 detects the second situation. If either of these situations occurs, a 
decimal carry pulse is produced and applied through the delay circuit 
to the first-order bit adder. Since a decimal carry is thus added to the 
following digit, 10 must be subtracted from the present digit. The sub¬ 
traction of 10 may be performed by adding 6 and ignoring the carry which 
occurs from the fourth-order bit. Ignoring this carry is equivalent to 
subtracting 16. This correction is accomplished by the add-6 circuit as 
soon as the developed decimal carry is applied to it. The case-2 example 
given above is mechanized as follows: 

0110 = 6 
+ 1000 = 8 

lTTo = 14 Binary 

+0110 = +6 Correction 
1 0100 = 14 Binary-coded decimal 

In case 3, a 16’s carry is produced but a 10’s carry is needed. We correct 
the sum by adding binary 6. The 16’s carry is applied to the decimal 
carry line to be returned to the first-order bit adder through the delay, 
and also to activate the add-6 circuit. The case-3 example given above 
is mechanized as follows: 

0111 = 7 
+ 1001 = 9 

1 0000 = 16 Binary 
+0110= 6 Correction 

1 QUO = 16 Binary-coded decimal 


Overflow 

Occasionally a carry occurs from the most significant position. Since 

the sum now possesses more digits than can be contained in a register, 
this carry is called an overflow. 


• 8 7 6 5 4 3 


Plus 



Overflow 

Fig. 141. Production of overflow. 


The occurrence of overflow indicates that the machine has manu¬ 
factured a number which is greater than the maximum allowable 
number. If the machine handles fractional numbers, the occurrence 

of overflow indicates that a number 1 or greater has been manufactured 
(Fig. 141). 

The overflow is usually fed to a flip-flop. This overflow is used to control 

arithmetic operations, especially those involving the use of complements as 
discussed in the following. 


ALGEBRAIC ADDITION 


The adder produces the absolute-value sum of the augend and addend 

To perform algebraic addition, the signs of the operands must be taken 

into account. As we have learned in Chapter 3, when the signs of the 

operands are alike, the operands are added. When the signs are unlike 

the smaller operand is subtracted from the larger, and the result is given 

the sign of the larger. The same result may be obtained by adding the 

complement of the negative number to the true value of the positive number. 

A second way of performing algebraic addition is by converting all negative 

numbers into complement form and applying the rules of algebraic 

addition to these numbers. Simple methods for performing these two 
types of addition are given below. 






308 


FUNCTIONAL UNITS 


ARITHMETIC 


309 


Algebraic Addition of Numbers in Absolute Value 
Plus Sign Form 

Algebraic addition may be performed .by means of a circuit similar to 
that shown in Fig. 142. The circuit consists of a binary comparator, an 
adder, and two subtractors. At the start of algebraic addition, the sign 


B 



i 

to 


o 


to 


I 


cn 

CJ1 

cn 

cn 

I 

-c* 




CD 

VI o 


c/> 

CD 

</) 

CD 

</> 


Q) 


4^ 

I 

cn 

cn 

cn 

cn 


oo 

oo 

00 

LD 


Fig. 142. Algebraic addition, absolute value plus sign form. 


bits of the two operands A and B are fed to the binary comparator, 
while the digits themselves are applied to a group of gates. If the two 
signs are alike, the operand digits are allowed to flow to the adder. If 
the signs are unlike, the switches allow digits A and B to be fed to the 
two subtractors. Subtractor 1 subtracts the addend B from the augend A , 
and subtractor 2 subtracts augend A from addend B. The subtractor 
that subtracts the larger number from the smaller number produces a 
carry; this carry inhibits the result of this subtractor. 


For example, assume 

A = +5555 
B = -4444 

The comparator activates the unlike control line, and the two numbers 
are fed to the subtractors. Subtractor 1 produces 5555 — 4444 = 1111 
and subtractor 2 produces 4444 - 5555 which gives 8889 and a carry. 
The carry inhibits this last result. 

Algebraic Addition by the Use of Complements 

A better way of accomplishing algebraic addition on numbers given in 
absolute value plus sign form is to complement negative numbers and then 
add. Positive results are produced in absolute-value form. Negative 
results, on the other hand, are given in complement form and should be 
recomplemented when removed from the arithmetic unit. 

A circuit which performs this operation is shown in Fig. 143. Figure 
143a shows the input and adder circuits, and Fig. 143b the output circuits. 
Complementer 2 takes the 2 s complement of the augend arriving to 
A register if the sign is negative. Complementer 1 complements the addend 
arriving to the adder if the sign is negative. The output is transmitted 
through complementer 3 which is under control of the sign circuits con¬ 
sisting of four flip-flops and two binary comparators. The presence of a 
signal to complement the output depends on the relative signs of augend 
and addend, and the presence or absence of overflow. 

This algebraic adder operates as follows. First the augend is transmitted 
to AR through complementer 2 by means of a transfer instruction. 
The first bit arriving at the complementer is the sign bit which acts as a 
control signal for the remaining bits. If the sign bit is plus, the comple¬ 
menter allows the bits of the number to pass through it unchanged; 
if the sign is negative, the number is complemented as it passes through. 

Next, an add instruction pulls the addend from the location in memory 
specified by the address and sends it through complementer 1 to the adder. 
Again, complementation occurs only if the sign is negative. The addend 
and augend hit the adder at the same time. The adder produces the sum 
which is returned to AR; in some cases it also produces an overflow 
which is applied to the sign circuits. 

The result of addition is transmitted from AR through complementer 3 
to the memory or to the output register by means of another transfer 
instruction. Complementation or no complementation of the output is 
determined by the sign circuits, which operate as follows. When the 
augend is originally applied to AR, the sign bit sets or resets the A sign 
flip-flop depending upon whether it is minus or plus. Similarly, when the 













Fig. 143. Algebraic addition by adding complements of negative numbers, (a) Comple¬ 
mentation on input and addition, (b) Complementation on output. 


ARITHMETIC 


311 


addend enters the adder, the sign bit sets or resets the X sign flip-flop, 
depending upon whether it is minus or plus. If the outputs of the two sign 
flip-flops are alike, the set sign flip-flop is reset; if unlike, it is set. If no 
overflow occurs upon completion of the addition, the modify sign flip-flop 
is reset; if overflow occurs, it is set. The outputs of the set sign and modify 
sign flip-flops are compared. If they are alike, the A sign flip-flop is 
reset; if they are unlike, it is set. 

The illustration shows +18 and —25 being added algebraically. The 
sign bits appear first. Because there is a one (signifying minus) in the least 
significant place of the augend, the number 11001 is complemented to 
00111 which is applied to AR. Next, the addend, 10010 is fed directly 
through because a zero signifying plus, is present in the least significant 
position. These two numbers are added in the adder to produce 

10010 

00111 

11001 

which is fed to AR. 

When the augend and addend were applied, the A sign flip-flop was set 
and the X sign flip-flop was reset. As a result, the unlike output of the 
comparator was activated to set the set sign flip-flop. Since no overflow 
was produced by the adder, the modify sign flip-flop is reset. The unlike 
output of the comparator causes complementer 3 to complement the 
output as it is transferred, and it also sets the + sign flip-flop to feed a 
minus signal out. 

Not all three complementers are needed. By proper gating it is possible 
to use one complementer for several operands. It is also possible to combine 
the summing and complementing functions in one circuit. Many other 
arrangements are possible. 

If negative numbers are stored in the machine in complement form and 
positive numbers in absolute-value form, no sign circuits such as those 
described above are needed. For instance, numbers may be stored 
according to the following rules. 


DECIMAL 

ABSOLUTE VALUE 

PLUS SIGN 

2*S COMPLEMENT 

MACHINE FORM 

+4 

+0100 


0 0100 

+2 

+0010 


0 0010 

-2 

-0010 

1110 

1 1110 

-4 

-0100 

1100 

1 1100 


A ZERO in the most significant position represents a positive number and a 
one in the most significant position represents a negative number in 
complement form. 
















312 



FUNCTIONAL 

UNITS 


if this extra 
amples. 

bit simplifies addition as 

ABSOLUTE VALUE 

can be seen from 

DECIMAL 

PLUS SIGN 

MACHINE FORM 

+3 

+0011 

0 0011 


4-7 

+0111 

00111 


+ 10 

+ 1010 

0 1010 

= +1010 

+3 

+0011 

0 0011 


-7 

-0111 

1 1001 


-4 

-0100 

1 1100 

= -0100 

-3 

-0011 

1 1101 


+7 

+0111 

00111 


+4 

+0100 

(1)0 0100 

= +0100 
(Disregard carry) 

-3 

-0011 

1 1101 


-7 

-0111 

1 1001 


-10 

-1010 

(1) 1 1010 

= -0110 
(Disregard carry) 


MULTIPLICATION 

Binary Multiplication 

The following simple example of binary multiplication was given in 
Chapter 3. 


1011 

1001 

Multiplicand 

Multiplier 

1011 

First partial product 

0000 

Second partial product 

0000 

Third partial product 

1011 

Fourth partial product 

1100011 

Product 


Each partial product is determined by the corresponding multiplier 
bit: if the multiplier bit is one, the multiplicand is set down as a partial 
product; if the multiplier bit is zero, zeros are set down for the partial 
product. Each successive partial product is shifted one position to the 
left before it is added. 

To mechanize this multiplication, each successive multiplier bit is 
detected in turn, and the bit is used to open a gate to allow the multiplicand 
to be added to the contents of the accumulator. After each multiplication 


ARITHMETIC 313 

the accumulator contents are shifted right before the following partial 
product is added; this is equivalent to shifting the following partial 
product to the left and then adding. The accumulator builds up accumu¬ 
lated partial products until finally it is storing the product. The process 
is summarized as follows: 

ion* 

I 

1001 ' 

r 

1011 * 
i 

101*1 
i 

0000 ' 

F 

oioiU 

i 

010*11 
I 

0000 1 
i 

0010'11 
I 

001*011 
I 

1011 ' 

I 

1100*011 

A 4-bit binary multiplication circuit which operates in this manner is 
shown in Fig. 144. It consists of four registers, one for storing the multi¬ 
plier, one for the multiplicand, and two for the product (since 4 bits 
x 4 bits = 8 bits); an adder; two flip-flops, one to store the multiplier 
bit being considered at a certain time, the other to control shift and add 
operations; and a counter to count the number of times shift and add 
operations are being performed. 

Details of operation are as follows. At the start the multiplicand is 
stored in DR and the multiplier in XR. The contents of XR are shifted 
right, and the least significant bit of the multiplier is fed to multiplier 
bit flip-flop. If the bit is one, the flip-flop is set; if it is zero, the flip-flop 
is reset. 


Add 

Shift right 
Add 

Shift right 
Add 

Shift right 
Add 










314 


FUNCTIONAL UNITS 


ARITHMETIC 


315 


During the next step, if the multiplier bit flip-flop is reset, the multi¬ 
plicand is not allowed to enter the adder. If the flip-flop is set, the multi¬ 
plicand is allowed to be applied to the adder. Simultaneously, the contents 
of AR (0000 at the start) are also applied to the adder. The first partial 
product is developed in AR. 

The next step is to shift the partial product in the accumulator to the 
right. At the same time, the next multiplier bit is shifted into the multiplier 



Shift-add 


Fig. 144. Mechanization of binary multiplication. 

bit flip-flop. During the following step, the multiplicand is added to the 
first shifted partial product if the multiplier bit flip-flop is set; nothing 
is added if the flip-flop is reset. 

This sequence of shift and add steps is under control of the shift-add 
flip-flop. During each step a pulse is applied to complement its output. 
At the start it is set and produces a shift pulse which is applied to XR and 
AR. The following pulse resets the flip-flop to produce an add pulse. 
The add pulse is applied to the adder input gates as shown. 

Every time the shift-add flip-flop produces an add pulse, the pulse steps 
a counter. After a count of 4 signifying that all multiplier bits have been 
taken care of, the counter produces an end-of-operation pulse. 

Figure 145 shows the contents of each register during each step of a 
multiplication operation. 

Note that, during the step where a bit at the least significant end leaves 
XR , a bit enters the most significant end of the A' register. When all the 
bits in XR have been shifted out, the A' register is filled with bits. Because 



Fig. 145. Steps in binary multiplication. 


























































316 FUNCTIONAL UNITS 

of this relative timing, XR may double as the A f register. When this is done, 
only three registers are needed: AR , XR, and DR. Upon completion of 
the multiplication operation, the most significant half of the product is 
stored in AR and the least significant half in XR. The simplified multi¬ 
plication circuit thus looks as shown in Fig. 146. 


DR 



Fig. 146. Storing least significant half of product in XR. 


Decimal Multiplication 

One of the most common machine methods for performing decimal 
multiplication is by a process of repeated addition. 


Example: 728 x 451 = 328328. 


REPEATED 

MULTIPLIER BIT ADDITION 


PARTIAL PRODUCTS 


1 




728 

= 728 

728 ' 


728 


728 

■ = 3640 

728 


728 


728 " 


728 

728 

► = 2912 

728 


328328 

328328 


When mechanized, the machine performs essentially the same process 
except that the partial products are accumulated as we go along, and that 



ARITHMETIC 317 

right shifts of accumulated partial products rather than left shifts of 
multiplicands are performed. As in binary multiplication, each multiplier 
digit, in turn, starting with the LSD, determines whether the multiplicand 
should be added or not. But there is this difference. In binary multiplica¬ 
tion only one addition is involved for each multiplier bit. In decimal 
multiplication the multiplicand must be added to the accumulated partial 



Fig. 147. Mechanization of decimal multiplication. 

product a number of times as given by the value of the multiplier digit. 
In decimal multiplication a counter is needed to keep track of the number 
of additions performed. 

Figure 147 is a block diagram of a decimal multiplication circuit. 
Note that, except for the backward-counting counter, this circuit is 
practically the same as the binary multiplication circuit. 

This circuit operates as follows. First the multiplicand is stored in 
DR, and the multiplier in XR. Secondly, the contents of the AR (0 at the 
start) are shifted right, and the rightmost digit is shifted into the most 
significant end of XR. At the same time the contents of XR are shifted 
right, and the LSD is fed to the backward-counting counter. 

If this counter is storing any digit but 0 during the next step, it allows 
the multiplicand (in DR) to be added to the accumulated partial product 
(in A R). During this addition the counter is stepped down 1. If the counter 
still does not read 0, the multiplicand is added again to the accumulated 
partial product; again a pulse applied to the counter causes it to step 
down 1. In this way the multiplicand is added the number of times given 
by the multiplier digit. 

As soon as the counter reads 0, il resets the multiplication phase flip-flop 

















318 FUNCTIONAL UNITS 

which then produces a shift pulse. The shift pulse causes AR and XR 
to shift right, and the next multiplier digit to be transferred to the counter. 

Now that there is a number other than 0 in the counter, an add phase is 
introduced. Add and shift phases alternate in this way until a counter (not 
shown) which is counting shift phases produces an end-of-operation pulse. 

DIVISION 

The restoring method of division was explained in Chapter 3. Briefly, 
the method consists of successively subtracting the divisor from the most 
significant digits of the dividend until a negative remainder (indicating an 
overdraft) occurs. The divisor is then added to the negative remainder 
to restore the balance. The number of subtractions, not including the 
restored one, is the most significant quotient digit. Then the divisor is 
shifted right and successively subtracted again until a negative balance is 
produced, after which it is restored. The number of subtractions not 
including the restored one determines the next most significant quotient 
digit, etc. 

For ease in mechanization, the subtractions are replaced by the addition 
of complements. The example of restoring division shown on page 319 is 
the same as the one presented in Chapter 3 except that the addition of 
complements is shown at each step where a subtraction is called for. 

Note that a carry is produced from the most significant position when 
the remainder is positive, and no carry is produced from the most signifi¬ 
cant position when the remainder is negative. During the addition of a 
10’s complement each time a carry is produced from the most significant 
position, a 1 is added to the value of the quotient digit. Each time no 
carry is produced, a restoring division followed by a shift operation is 
introduced. The presence or absence of a carry from the most significant 
position may thus be used to control the division operation. 

A simplified block diagram of a circuit operating on these principles 
is shown in Fig. 148. It consists of three registers, AR , DR, and XR for 
storing the dividend, divisor, and quotient; a complementer flip-flop 
and complementer for complementing the divisor when required; a 
shift-add flip-flop for flipping between the shift and add phases; and a 
counter for accumulating each quotient digit. The steps in the division 
process are as follows: 

1. The dividend is fed to AR, and the divisor to DR. 

2. Division is started by resetting the shift-add flip-flop and setting the 
complementer flip-flop. The first allows addition to take place; the 


ARITHMETIC 


319 


Example of restoring division 


1241 

365)452980 

452980 

635 

(1) 087980 
635 

No carry 722980 

365 

(1) 087980 
635 

(1) 51480 
635 

(1) 14980 




635 

No carry 


78480 

365 


(i) 

14980 

9635 


a) 

11330 

9635 


a) 

07680 

635 


(i) 

4030 

635 


a) 

0380 

635 

No carry 


6730 

365 


a) 

0380 

635 


(i) 

015 

635 

No carry 


650 

365 


a) 

015 


OPERATION 
Add complement 

Add complement 

Add to restore 

Shift and add complement 

Add complement 

Add complement 

Add to restore 

Shift and add complement 

Add complement 

Add complement 

Add complement 

Add complement 

Add to restore 

Shift and add complement 

Add complement 

Add to restore 


QUOTIENT DIGITS 
( 1 )- T 


1 

( 2 ) 


1 

2 


1241 



3 

(4) 



second causes 10’s complementation of the divisor before it is added to 
the dividend. The resultant sum is stored in AR as a partial accumulated 
remainder. 

3. If an overflow is produced, it steps the counter and allows another 
addition of the 10’s complement to take place. 

4. The counter continues counting until no overflow is produced. 
The no-overflow condition resets the complementer flip-flop. During 




Dividend 




320 


FUNCTIONAL UNITS 




ARITHMETIC 321 

the next step, therefore, the divisor is not complemented; it is simply added. 
This restoring addition produces a carry. However, A 3 is inhibited by 
the reset output of the complementer flip-flop and, therefore, does not 
step the counter. 

5. The reset output of the complementer flip-flop is delayed a word¬ 
time by D ± after which it sets the shift-add flip-flop. The set output causes 
the quotient in the counter to be shifted into XR , and the accumu¬ 
lated partial remainder in AR to shift left. Shifting the accumulated 
partial remainder left produces the same relative results as shifting the 
divisor to the right. 

6. One word-time after the shift pulse is produced, the output of D 2 
resets the shift-add flip-flop to cause the adder to add again, and it sets the 
complementing flip-flop to cause the divisor to be complemented before 
addition. The sequence for developing the next most significant quotient 
digit is thus introduced. 

7. A separate counter (not shown) may be used to count the number of 
quotient digits developed. When a complete word is produced, the 
operation stops. At the end, the remainder is stored in AR and the quo¬ 
tient in XR. The last step in some machines is the interchanging of the 
contents of AR and XR. This is done in order to be consistent with the 
usual requirement of having useful results available in the accumulator. 


EXTRACT OPERATION 

The extract operation is a powerful tool for modifying words or for 
extracting digits from a word. The extract operation is sometimes called 
a logical multiply instruction because it depends on the characteristics of 
an and circuit. What it is and what it does can best be seen by means of 
examples. 

If one register stores an extractee and another register stores the extractor, 
when an extract instruction is given, the output is as follows: 

1001001110 Extractee 

1010101010 Extractor 

1000001010 Result 

Note that in each column where a zero appears in the extractor, the 
resultant digit is always 0; in each column where a one appears in the 
extractor, the resultant digit is the same as the corresponding extractee 
digit. In essence, we have extracted the digit in every other column. 

The extract instruction can be used to extract the least significant half 












322 FUNCTIONAL UNITS 

of a word by placing one’s in the least significant positions of the extractor 
word: 

1001001110 Extractee 
0000011111 Extractor 

0000001110 Result 


Extractor 


0000 1111 
1110 0101 


Extractee 



0000 0 1 0 1 
Extracted word 





0000 0000 


0000 0000 


0000 0000 


mi oooo 

Extractor 

mi oooo 


□ 



oooo oooo 


oooo 


000 1 | —I 


^ 000 1 


oooo 



L 


D \ 011000 


00 



□ 


^ 1 0 10 000 


0 


1010 1010 


H 


Extracted word 
1 234 0000 

(b) 


Extractee 
1234 5678 


Fig. 148. Mechanization of extract, (a) Binary, (b) Decimal. 


Similarly, the extract instruction can be used to extract the most signifi¬ 
cant half of a word by placing one’s in the most significant positions of 
the extractor word: 

1001001110 Extractee 
1111100000 Extractor 

1001000000 Result 


The extract operation for binary numbers is performed with the aid of 
a simple and circuit, as shown in Fig. 149a. The extractee is stored in the 
A register. An extract instruction feeds the bits of the extractor to one 
side of the and circuit at the same time that the contents of the A register 
are fed to the other side of the and circuit. The result—a one in all 
positions where both bits are one and a zero in all other positions is fed 
back to AR. 


ARITHMETIC 323 

The extract instruction may also be applied to coded decimal numbers. 
In one arrangement the extracted word consists of all those digits of the 
extractor in positions where the extractor word has odd digits. In all other 
positions zeros are present. The reason for this is that, in binary-coded 
decimal, a one appears in the lowest order of all odd digits and a zero 
in the lowest order of all even digits. These lowest order bits may be fed 
to four and circuits, one for each subregister, in a manner shown in 
Fig. 1496, in order to perform the extraction. 


CHECKING 

Transmission of information to and from the arithmetic unit or among 
arithmetic registers may be checked by redundancy checks, such as the 
parity check and the forbidden-combination check. The forbidden- 
combination check may also be used to check the results of arithmetic 
operations. Obviously, if a forbidden-combination is produced as a 
result of an arithmetic operation, something has gone wrong with the 
operation. 

Arithmetic operations themselves may be checked in several ways. 
One way is by means of casting out 9’s or casting out 7’s. In the 
casting-out-9’s method, as each operand is fed to an arithmetic register, 
it is also applied to a modulo-9 counter, which thus stores the RMN. 
At the same time that an arithmetic operation is performed on the numbers, 
the same operation is performed on the RMN’s. On completion of the 
arithmetic operation the result is fed to a modulo-9 counter, and then 
comparisons of RMN’s are made as follows: 

1. In addition: RMN of sum = sum of RMN’s. 

2. In subtraction: RMN of difference = difference of RMN’s. 

3. In multiplication: RMN of product = product of RMN’s. 

4. In division: RMN of dividend = (RMN of quotient) x (RMN of 
divisor) + RMN of remainder. 

Instead of introducing redundancy in the words used, redundancy may 
be introduced into the machine itself. By duplicating the adder, for 
instance, we may have the machine perform an addition twice. Now if the 
two sums are compared, we may determine whether the results of the two 
operations are alike. If they are, it indicates that no error has occurred. 
If the sums are different, it indicates that a mistake must have occurred. 

Redundancy may be achieved in another manner. The two operations 
performed may not be the same, but related. For instance, if the operation 
called for is an addition such as 5 + 4 ™ 9, then the machine would also 







324 FUNCTIONAL UNITS 

perform a subtraction: 9 — 5 = 4. The advantage of this arrangement 
is that the second related operation may be performed after the actual 
operation is completed; no extra equipment is needed. Machines which 
are not built to do this sort of checking automatically may be programmed 
to do it. 

Another type of test found in arithmetic units protects the machine 
against the performance of forbidden operations. For instance, in a 
machine handling fractional numbers, we cannot divide a larger number 
by a smaller number because the result would be greater than 1. But 
suppose such a problem is programmed. The machine can be made to 
detect this condition fairly easily because overflow is always produced 
when a result turns out to be 1 or greater. This overflow may be used to 
set an exceed-capacity-overflow flip-flop to warn the user that an illicit 
operation has been performed. 


SUMMARY 

1. The arithmetic unit usually consists of a group of registers ( AR , DR , and 
XR) for storing operands, and arithmetic circuits such as adders, complementers, 
sign-determining circuits, and counters to perform the arithmetic operations. 

2. Simple addition of bits may be performed by a coincidence-type adder 
which produces the appropriate sum and carry bits when an augend, addend, and 
carry bit are applied. Addition may also be performed by a counter-type adder 
which operates in a manner analogous to the operation of mechanical calculating 
machines. 

3. Addition of words may be accomplished serially or in parallel. In serial 
addition, the bits of the augend and addend are applied sequentially to the adder. 
In parallel addition, a separate bit adder is used to obtain the sum of each pair 
of bits. In serial addition only one bit adder is required and one word-time is 
needed to complete the operation. In parallel addition, we require as many bit 
adders as there are bits to be summed, but the time required is reduced. Parallel 
addition is not as fast as one would normally suppose because of the time 
required for carry propagation. 

4. Coded decimal numbers are usually added in serial-parallel. Because a 
carry from the last order bit of a digit is not necessarily a decimal carry, a 
corrector is made part of the adder. 

5. Algebraic addition may be accomplished by converting all negative numbers 
to their complement, and adding. Sign circuits control the complementing 
process. 

6 . Binary multiplication may be accomplished by a succession of add-shift 
operations. Decimal multiplication may be accomplished in a similar manner, 
except that a group of additions is followed by a shift; then another group of 
additions occurs, and then another shift. Decimal division may be accomplished 
by a succession of subtractions, followed by a restoring addition and a shift. 


ARITHMETIC 325 

7. In addition to the parity and forbidden-combination checks, the arithmetic 
unit may be checked by duplicating circuits, repeating operations by program¬ 
ming, by casting out 9’s or 7’s, and by detecting forbidden occurrences such as 
exceed-capacity overflow during division. 

8 . Definitions to Remember 

OVERFLOW —The occurrence of a carry from the most significant position. 
EXCEED-CAPACITY OVERFLOW —An overflow that implies that the 
result of an operation is a number greater than the capacity of a register. 
ACCUMULATOR —A register which accumulates totals and stores the 

results of most operations. 

EXTRACT— The process of removing a portion of a word by combining 
another word with it according to the rules of logical multiplication (and). 


CONTROL 


327 


To address 
selector 


Instruction 
from memory 



Subcommands 
to all units 


CHAPTER 15 

Control unit 


The control unit consists of an instruction register which accepts instruc¬ 
tion words from memory, and control circuits which sequence, translate, 
and execute these instructions by means of a group of subcommands. 

Sequencing is accomplished by a partnership of the memory and control 
units in a basic machine cycle which varies with the instruction code used. 
For one and three-address machines, a program counter determines the 
address of the next instruction. For two- and four-address machines, the 
instruction register itself stores the address of the next instruction to be 
executed. The address is applied to the address selector which, in turn, 
causes the appropriate instruction to be read out to the instruction register. 

Translation is performed by the control unit. Commands are translated 
into subcommands which are fed to all parts of the machine. 

Execution depends on timing pulses as well as subcommands. Control 
may be transferred to the arithmetic control or to the input-output control 
circuits for more complicated instructions. 

326 


The control unit not only determines the operation of the other func¬ 
tional units; it also determines and can modify its own operation. For 
instance, sequencing may be modified by means of a branch instruction. 
The control unit is also capable of modifying an instruction before it is 

executed. 

Manual control is available to allow the operator to intervene, monitor, 
or modify the automatic operation of the computer. 


BASIC MACHINE CYCLE 

Automatic control of a digital computer may be divided into three 
functions as follows: 

1. Sequencing of instructions. 

2. Translation of commands and addresses. 

3. Execution of subcommands. 

These functions are performed as part of a basic machine cycle which 
depends for the most part on the instruction code. 

Sequencing of Instructions 

In a computer using a one-address or a three-address instruction code, 
sequencing is accomplished by means of a program counter which pro¬ 
vides the address of the next instruction word to be executed, and a flip-flop 
which divides the sequence into a fetch phase and an execute phase. The 
other major parts of the control unit are the instruction register which 
stores the command and address of the instruction word, and the address 
selector (actually part of memory) and command decoder which translate 
the two parts of the instruction into signals which cause execution of the 

instruction. 

A block diagram of such a sequencing unit is shown in Fig. 150. The 
following is the sequence it follows. Upon completion of an instruction, 
the instruction mode flip-flop is set to the fetch state. In this state, it 
allows the address stored in the program counter to choose the next instruc¬ 
tion word from memory to be transferred to the instruction register. As 
soon as the word is completely in the instruction register, the instruction 
mode flip-flop is reset to the execute state. In this state, gates A z and A 3 
allow the address part of the instruction to be transmitted to the address 
selector and the command to the command translator. The address selector 
chooses the location to be read from or written into. The command 
translator translates the command into subcommands which execute the 






328 


FUNCTIONAL UNITS 


CONTROL 


329 


if) 

TD 



\ 


instruction on the operand specified by the address. One of the subcom¬ 
mands is a count pulse which steps the program counter to the next 
address. After execution of the instruction, the instruction mode flip-flop 
is set to the fetch state to start a new cycle. 

In a machine using a two-address instruction code, no program counter 
is needed; the address of the next instruction to be executed is given in 
the instruction word. The two-address instruction code is usually specified 
with a cyclic access memory. Since in this type of memory time is required 
for finding an address, the basic machine cycle consists of four steps instead 
of two. These four steps are: 

1. Search for address of operand. 

2. Translate and execute subcommands upon operand. 

3. Search for address of next instruction. 

4. Read next instruction into instruction register. 

A modulo-4 cycle counter may be used to sequence through these four 
steps. 

A sequencing unit to be used with a drum memory and a two-address 
instruction is shown in Fig. 151. Everything above the horizontal dashed 
line is part of the memory. Everything below the dashed line is in the 
control unit. Sequencing is performed by the two units working closely 
together. 

The sequence is as follows. When the cycle counter reads 1, the data 
address is fed to the memory control circuits. The column address is 
applied to the column address selector which primes the appropriate 
drum heads. The row address is transmitted to the row address register 
where it is applied to one side of a comparator. 

Upon completion of read-in of row address into the row address 
register, the cycle counter is stepped to 2. Every word-time the row 
address of the row currently under the heads is applied to the other side 
of the comparator. When the two addresses are alike, the comparator 
sends an activating signal to A 5 and A 6 . Gate A 5 allows the operand to be 
read off the chosen head and to be applied to the arithmetic circuit 
(information may also go from the arithmetic unit to the memory). At 
the same time A e allows the subcommands to be transmitted to the arith¬ 
metic unit where they perform the operation called for. 

As soon as the memory’s part of the job is complete, the cycle counter 
is stepped to 3. After the entire operation is completed, an operation- 
complete pulse is applied to gates A :i and A 4 , and the instruction column 
address is fed to the column address selector and the instruction row address 
to the row address register to begin the search for the next instruction. 







330 


FUNCTIONAL UNITS 



CONTROL 331 

Upon completion of read-in of instruction row address into the row 
address register, the cycle counter is stepped to 4. After the comparator 
produces a coincidence pulse, the instruction word is fed through A 7 
to the instruction register. The cycle counter is then stepped back to 1, 
and the sequence is repeated for the new instruction. 

The first two steps in the cycle are concerned with the operand; the 
second two steps are concerned with the instruction. 

Machines using three-address instruction codes are sequenced by means 
of a program counter. Machines using four-address instruction codes 
are sequenced by a cycle counter. In both the three- and four-address 
machines, more steps must be included to take care of the two operands 
and the result. 

The machine cycles given above apply for simple transfer, arithmetic, 
and input-output instruction. If the command calls for a lengthy operation 
such as multiplication, the execution step may be extended by transferring 
control to arithmetic control. If the command calls for a lengthy input- 
output instruction such as the writing of a whole block of words into 
memory, the execution step may be extended by transferring control to 
the input-output control. In both cases, upon completion of the execution 
sequence control is transferred back to the control unit which continues 
in a normal manner. (See Fig. 152.) 

Translation of Commands and Addresses 

As soon as the instruction word appears in the instruction register, 
the command signals are applied to a command decoder which produces 
one output line for each code combination. This output line is then fed 
to an encoder which produces the subcommands needed to perform the 
instruction. 

Different subcommands are encoded for different instructions. For 
instance in a “read from memory to AR ” instruction, the following 
subcommands may be needed: 

1. Open read amplifiers. 

2. Open input gate to AR. 

3. Shift word into AR. 

4. Reset A register sign flip-flop (to read zero unless a minus pulse 
flips it to one). 

5. Operation-complete pulse, 

6. Block recirculation gate of AR. 

Any one subcommand may be used by several commands. For instance, 
a right-shift subcommand may be part of a right-shift instruction, and it 
may also be part of a multiplication instruction. 































332 


FUNCTIONAL UNITS 


Execute 



Extend 





Fig. 152. Extending the machine cycle, (a) One-address instruction, (b) Two-address 
instruction. 

To summarize, the list of subcommands represents the available atomic 
machine operations, and each command is translated into the group of 
subcommands needed to perform the indicated operation. 

At the same time that the command translator is producing sub¬ 
commands, the address selector is translating the address part of the 
instruction into a signal which activates the appropriate location in 
memory. 

Execution of Subcommands 

To be effective, subcommands must be executed at the proper times. 
For instance, in the above example, if the sign bit is the first one 


CONTROL 




Control 

signals 




(b) 





Fig. 153. Synchronous and asynchronous operation, (o) Synchronous, (b) Asyn¬ 
chronous with flip-flops, (c) Asynchronous with delays. 


transferred, the sign bit would be allowed to enter the sign flip-flop at 
time r„. But the gate to AR would not be opened until time t lt allowing all 
the other bits to enter AR. Similarly, the operation-complete pulse is 
usually not allowed to operate until the end of the word-time. 

Execution of subcommands may be performed in one of two wuys: 
synchronously or asynchronously. In the synchronous machine (Fig. 153a) 










334 FUNCTIONAL UNITS 

a timing-pulse generator produces a set of timing pulses for each cycle. 
A subcommand is gated with a timing pulse in a sequencing gate to produce 
a control signal effective at the appropriate time. These sequencing gates 
may be scattered throughout the machine. In the asynchronous machine a 
central timing-pulse generator is not used. As soon as one operation is 
completed, the next is allowed to take place. Asynchronous operation is 
easily accomplished by means of flip-flops in circuits such as that shown 
in Fig. 1536. With the flip-flop reset, operation A is performed. Upon 
completion of operation A , a signal sets the flip-flop to allow opera¬ 
tion B to be performed. Asynchronous operation may also be accom¬ 
plished by means of delay elements in a circuit such as that shown in 
Fig. 153c. 

Very few machines are entirely synchronous or entirely asynchron¬ 
ous. Most of them use a combination of both techniques. In many 
machines it is difficult to separate the subcommands from the control 
signals. 

In many computers, there are several instructions which may be per¬ 
formed in one word-time or in some other standard length of time. The 
timing is usually set up to take care of these situations easily. When a 
more complicated instruction such as a multiplication requiring repeated 
addition is called for, one of the subcommands may transfer machine 
control to the arithmetic control unit. Basic subcommands are fed to the 
arithmetic control, where a counter, flip-flops, complementing and other 
circuits are in control of sequencing the steps of the operation. Upon 
completion of the operation, the operation-complete pulse transfers 
control back to the control unit. A similar operation occurs when execut¬ 
ing a block transfer into or out of the computer. 

Nonmemory Instruction 

A nonmemory instruction refers to an instruction which does not call 
for an operand to be applied to or removed from the memory. The bit 
positions of the instruction word usually holding the address may contain 
bits to modify the command part of the instruction. For instance, in a 
right-shift instruction, the address part of the instruction may be used to 
specify the number of shifts to be performed. During translation of 
“right shift,” the machine produces a subcommand which prevents the 
contents of the address part of the instruction from entering the address 
selector and causes it to be applied to a counter instead. This counter 
controls the number of places to be shifted. 

The nonmemory instruction does not alter the basic machine cycle. 
It merely interprets some of the signals in a different way. 


CONTROL 335 

MODIFICATION OF BASIC MACHINE CYCLE 

The basic machine cycle may be modified by a branch or halt instruction. 
The branch instruction may cause the following instruction not to be 
in the normal sequence. The halt instruction may stop the instruction 
sequencing entirely. 

Branch Instructions 

The simplest type of branch instruction is the unconditional jump. The 
unconditional jump instructs the computer to choose the next instruction 
from the address specified in the instruction word. The mechanization 
is fairly easy. When an unconditional jump command is translated by the 
machine, a subcommand is fed to the address selector to prevent the 
address portion of the instruction word from affecting the memory. 
Instead, a different subcommand gates the address into the program 
counter. After the operation-complete pulse is received, the computer 
sequences to the instruction stored at the address present in the program 
counter. Instructions sequence normally from this new address until 
another branch instruction is executed. 

An unconditional jump is used in one- and three-address machines. It 
is not needed in two- and four-address machines since, in effect, an un¬ 
conditional jump is part of every instruction word. 

A more sophisticated branch instruction is the conditional jump 
which allows the computer either to sequence normally or to jump to an 
instruction out of sequence based upon conditions present within the 
machine. In other words, the conditional jump chooses among alterna¬ 
tives, and it makes its decision on the basis of some important fact. 

Some conditions commonly used by digital computers as criteria for 
deciding whether to perform a jump or not are as follows: 

1. Occurrence of a minus accumulator as a result of a previous arith¬ 
metic operation. 

2. Occurrence of overflow as a result of a previous arithmetic operation. 

3. The presence of a special symbol such as an EB (end of block). 

4. The presence of an interlock. 

As a matter of fact, any yes-no condition which may be stored in a flip- 
flop may form the basis for a decision to perform or not to perform a jump. 

In a one- or three-address computer, the conditional jump instruction 
may read as follows: 

Look at the accumulator sign flip-flop. If it is storing plus (flip-flop 








336 FUNCTIONAL UNITS 

reset), sequence normally. If it is storing minus (flip-flop set), 
sequence to instruction located at address given by instruction word. 

The mechanization is accomplished as shown by the simplified block 
diagram in Fig. 154a. The command is translated into several subcommands 


Instruction register 



Sense 

sign 


(a) 


Instruction register 



sign 

(b) 

Fig. 154. The jump instruction, (a) One-address instruction, (b) Two-address instruc¬ 
tion. 

one of which is the sense sign. This subcommand senses the state of the 
accumulator sign flip-flop. If it is plus, A 2 sends a signal to A :l to allow a 
count pulse to step the program counter to the next address. If it is minus 
A x sends a signal to A 4 to allow the address part of the instruction to be 
fed to the program counter. 




CONTROL 337 

In a two- or four-address computer, the conditional jump may read as 
follows: 

Test the contents of the accumulator sign flip-flop. If it is storing 
plus (reset), choose next instruction from location specified by instruc¬ 
tion address. If it is minus (set), jump to instruction location specified 
by data address. 

A simplified block diagram of a possible mechanization of this instruc¬ 
tion is shown in Fig. 1 54b. Again, a sense sign subcommand looks at the 
state of the accumulator sign flip-flop. If it is reset, A 2 sends a signal to 
the group of gates A 3 to allow the instruction address to be fed to the 
address selector. If the flip-flop is set, a signal from A x opens group of 
gates A a to allow the data address to be fed to the address selector. 

The conditional jump instruction may be used together with a subtrac¬ 
tion instruction to compare numbers. One number B is subtracted from 
the other number A. If the difference A — B is negative, it implies that B 
is the larger. The subtraction instruction is followed by a conditional 
jump—a jump if minus—instruction. Thus a jump occurs if B is larger 
than A. 

The subtraction and jump on minus instructions may be combined into 
one comparison instruction. For a one-address machine, the comparison 
instruction may read as follows: 

Compare the word in the accumulator with the word stored in the 
location given by the address. If the operand in the address is less 
than or equal in magnitude to the word present in the accumulator, 
perform the next instruction in sequence. If the operand is greater 
in magnitude than the value present in the accumulator, jump to 
the second following instruction. 

The skip of one instruction is easily accomplished by feeding two count 
pulses to the program counter instead of one. 

In a two-address comparison instruction, the data address specifies 
the operand, and the instruction address specifies the location of the next 
instruction if the operand is smaller or equal in magnitude to the accumu¬ 
lator contents. If the operand is larger than the contents of the accumula¬ 
tor, the machine jumps to a specified address. 

The sampling input-output instruction referred to previously acts in a 
manner similar to the conditional jump instruction. The instruction looks 
at the state of an interlock flip-flop in the input-output. If the flip-flop 
indicates, for instance, that the input register is not lull, no transfer occurs 
and sequencing continues in a normal way. If the flip-flop indicates the 
register is full, a transfer occurs followed by a jump. 












338 


FUNCTIONAL UNITS 


Halt Instructions 

The basic machine cycle may be modified by a simple halt instruction. 
A halt instruction is needed because, if left to its own devices, the computer 
would sequence indefinitely. Usually when a halt instruction stops com¬ 
puter operation, a lamp on the panel lights up to indicate this fact. 

A more sophisticated type of halt instruction may be built similar in 
operation to the conditional jump. The instruction senses the state of 
a flip-flop. If it is reset, sequencing occurs normally. If it is set, the 
computer halts. 

INSTRUCTION MODIFICATION 

The instruction word itself can be modified within the machine. Since 
the instruction word has the same appearance as a data word, words may be 
added to or subtracted from the instruction word to produce new instruc¬ 
tion words. Two common means for modifying instructions are add 
address instructions and B Register instructions. 

The Add Address Instruction 

The purpose of the add address instruction and its mechanization can be 
made apparent by means of an example. Suppose that a jump instruction 
is to be executed. However, the address of the instruction to which we 
want to jump is unknown at the time of preparation of the program; this 
address is determined as a result of a previous calculation. 

The required jump instruction is constructed by feeding a pseudo¬ 
instruction word into the accumulator, such as 

11 0000 

where 11 represents a jump command, and 0000 means that the address 
part of the instruction is unspecified. To this word is then added a word 
such as 00 1001. The result is 

11 0000 
+00 1001 

11 1001 

which means “jump to address 1001.” This new instruction word may 
be stored at any point in the program by means of a write instruction. 

The add address instruction may be used with other instructions besides 


CONTROL 


339 


jump. It may be used together with one add instruction to cause the com¬ 
puter to accumulate a long list of numbers. For instance, if a group of 
500 numbers to be accumulated is stored in addresses 5001 to 5500, it is 

not necessary to write 

Add 5001 
Add 5002 
Add 5003 

Add 5500 

We may write “add 5000” in a certain spot in memory. Before this 
instruction is executed, however, it is fed to AR where 000001 is added to it. 
Then this new instruction is stored back in memory so it can be executed 
next. The result of this operation is that the contents of 5001 are added 
to the accumulator contents. Next the “add 5000 is returned to the 
accumulator and 000002 is added to it, after which the revised instruction 
is fed back to a location in memory so that it can be executed next. Upon 
completion of the second accumulation, the process is repeated except 
that now 000003 is added to the original instruction, etc. 

Two questions arise in our minds with reference to the above program. 
(1) How do we obtain each time a number to be added which is one grcatci 
than the previous number? (2) How do we stop this repetition ! 

The first problem is solved by means of a few instructions which cause 
a 1 to be added to a number in memory and then the new number is fed 
back to the same location. In effect, the memory location acts as a 
counter, with each count being performed by means ol an add insti action. 

The second problem, that of stopping the constant repetition of this 
group of instructions, is accomplished by means of a comparison insti ac¬ 
tion. The comparison instruction compares the contents of the countei 
with the number of operations required to be performed. If the counter 
value is less than the number required, the program jumps back to the 
first instruction in the routine. If the counter and required values are the 
same, the instruction located in the following address is perlormed. 

The simplified program is as shown in Fig. 155. This type ol routine is 
called a program loop since the same instructions are repeated over and 
over. A comparison instruction is used to jump out ol the loop. 

BR Instructions 

The counter simulated by the program above may be replaced by an 
actual counter, which is commonly called an index register, it //-box, 
or a // register (BR). Each time the add instruction is read by the control, 
it automatically adds the contents of Hl< to the address part of the instruc¬ 
tion before the instruction is translated and executed. 



CONTROL 


341 


Later, instead of a comparison instruction, we have a test BR instruction 
which states: 

Compare contents of BR with contents of memory location specified 
by the address part of the instruction. If the contents of BR are less 
than the contents of the memory location, add 1 to the count in BR 
and jump to start of the routine. If the contents of BR are equal to 
the contents of the memory location, execute the following instruction. 

The test BR instruction performs the same function as the comparison 
instruction plus the instructions required to produce the count. 

The mechanization of a BR modifiable instruction is simple. An 
instruction which is BR modifiable may be distinguished from ordinary 
instructions by means of a code. A simple way of distinguishing it is by 
placing a one in an extra bit position to indicate a BR modifiable instruc¬ 
tion. When read by the computer, the control unit uses this one to open 
gates to allow the address bits of the instruction register and the bits of 
BR to be applied to an adder. The result—the modified address—is then 
fed back to the instruction register. After this, the instruction is trans¬ 
lated and executed in a normal manner. 

Before a program loop is entered, the counter must be set. When 
constructing a loop with the aid of the add address instruction, the counter 
may be set to 0 by clearing the accumulator, and then feeding the zeros 
to the counter in memory. When constructing a loop with the aid of BR 
modifiable instructions, a new instruction called the “set BR ” instruction 
is required. The set BR states: 

Transfer the contents of the location specified by the address into BR. 

The BR is set to 0 by transferring a 0 to it. By the same token BR may be 
set to any other value. 

In any one loop any number of instructions may be made BR modifiable, 
and instructions which are not BR modifiable may be interleaved with 
instructions that are. Several BR may be built into one machine, and any 
one instruction may be made modifiable by any one of the BR. 

MANUAL CONTROL 

The automatic control unit may be monitored and modified by manual 
controls and indicators located on the control panel. These controls and 
indicators may be classified according to function as follows: 

1. Operational. 

2. For loading. 














342 


FUNCTIONAL UNITS 


3. For program debugging. 

4. For trouble shooting. 

Controls and indicators fitting each of these classifications are discussed 
briefly below. 

Operation Controls and Indicators 

The most obviously needed controls are those associated with turning 
the equipment on and off. Separate controls are usually provided for 
turning on and off the main a-c power; for turning on and off the d-c 
power supplies feeding the switching, storage and amplifying circuits; 
and for starting and stopping the actual sequencing and execution of the 
program. 

During the turn-on procedure, indicator lamps are available to warn the 
operator against activating certain switches until after appropriate delays. 
Other lamps indicate which components of the equipment are receiving 
needed voltages. Fuses and circuit breakers provide needed protection 
for the various circuits. 

Controls are available for controlling the operation of external devices. 
Together with these controls are indicators showing which input or output 
device is in use. 

An important group of controls and indicators is concerned with manual 
input and visual output display. By means of switches it is possible to 
feed any combination of bits into almost any of the computer registers. 
Neon displays show the operator the word he is entering into the machine. 
Selector switches enable him to choose the register to which the word is 
transferred. Also, normal computer operation may be halted and the 
contents of the arithmetic registers displayed. 

Another important group of controls is concerned with the deter¬ 
mination of the mode of operation of the computer. In some machines 
there is a control placing the computer in the test mode. In this condition, 
all the parts of the machine may be tested to make sure the computer is 
ready to execute programs. The computer may be set to accept inputs 
only from manual switches, or it may be set to work automatically from 
the program. There may be other modes of operation which depend on 
the design of the individual machine. 

Loading 

A stored program computer sequences and executes instructions stored 
in memory. The process of bringing the program into memory is called 
loading. The loading procedure starts with the transcription of the 


CONTROL 


343 


program onto the external storage medium. This is followed by a transfer 
of all the instructions from external storage to appropriate addresses in 

memory. 

But how can the computer transfer words into memory when no instruc¬ 
tions are present in the machine for accomplishing this transfer? The 
transfer is accomplished with the aid of panel switches which may be used 
to simulate instruction words. Instruction words are constructed which 

cause the program to be entered into memory. 

A more efficient method of loading is to place a loading routine at the 
beginning of the program to be stored in memory. The instructions 
simulated by means of the panel switches bring the loading routine into 
memory and then transfer control to this routine. The loading routine 
then proceeds to load the rest of the program at machine speed. 

Program Debugging 

There is so much detail work in the preparation of a useful program 
that rarely is the program correct the first time it is tried. This is why 
most computers have controls whose purpose it is to expedite debugging— 
the finding and removal of mistakes from the program. Among the more 
commonly used controls are the one-instruction, breakpoint, and halt 

switches. 

The one-instruction switch allows only one instruction of the program 
to be executed at a time. It causes an instruction to be fed to the instruction 
register and then to be executed. The machine stops immediately after 
execution of this instruction. Upon completion of this instruction, the 
contents of the arithmetic and instruction registers are displayed on the 
panel to enable the operator to see whether the instruction has performed 
as intended. As soon as the one instruction switch is activated again, 
the next instruction is fed to the instruction register, executed, and the 
results of that operation are displayed. In this way, the program may be 
executed in slow motion. 

Two of the most useful controls for testing a program are the breakpoint 
switch and the jump-no-jump switch. A breakpoint switch allows the 
computer to operate normally until the program reaches a key instruction 
at which point the computer stops. The key instruction may be of any 
kind, but it is most often a branch instruction. At a branch instruction a 
decision must be made whether to follow one set of instructions or to 
follow another set. It is a spot where mistakes in programming can be 
easily spotted. It is a convenient point for breaking the program to view 

register contents. 

A breakpoint switch may have two positions- stop and proceed. 


344 FUNCTIONAL UNITS 

When the switch is placed in the stop position, it sets a flip-flop; when in 
the proceed position, it resets the flip-flop. When the branch instruction 
occurs, it produces a subcommand which looks at this flip-flop. If it sees 
the flip-flop set, it causes the computer to stop; if it sees it reset, it performs 
a normal branch operation. 

The jump-no-jump switch affects the jump flip-flop. In the jump 
position, the jump flip-flop is set. In the no-jump position, the jump 
flip-flop is reset. The switch overrides whatever is placed in the flip-flop 
as a result of normal operation. 

During program debugging the breakpoint switch is used in conjunction 
with the jump-no-jump switch as follows. The breakpoint switch is put 
in the stop position, and the computer is placed into operation. The 
computer performs the program until it reaches a branch instruction, 
at which point it stops. The operator then looks at the contents of the 
registers as displayed on the panel. The displayed results indicate whether 
the machine will jump or not during the next instruction. However, the 
operator may modify the operation by activating either the jump or 
no-jump positions of the switch. In the first case the machine continues 
with a jump, and in the second case it continues with no jump regardless 
of what the branch instruction says. In effect, the computer can be made 
to execute a different program from the one originally written. A machine 
may have several breakpoint switches, each able to control a different 
group of instructions. 

Another control which is useful in program debugging is the halt switch. 
The halt switch can be made to act like a breakpoint switch. At various 
points in the program a conditional halt instruction is placed. The con¬ 
ditional halt instruction senses in what position the halt switch is placed— 
by looking at an associated flip-flop. If the control panel switch says halt, 
the computer halts; if it does not say halt, computer operation continues 
normally. 

Greater flexibility may be achieved by using several halt switches: 
halt 1, halt, 2, halt 3, and so on. Each halt instruction may be encoded to 
be sensitive to only one of the halt switches. Thus a halt-2 instruction 
causes the computer to halt only if the halt-2 switch is activated. 

Trouble Shooting 

All the controls and indicators used for operation, loading, and program 
debugging are useful for trouble shooting. Power-operational controls 
and indicators enable the operator to see if there is any trouble in the power 
lines or in the power supplies. Fuses and circuit breakers give further 
indication. Program-operational controls and indicators enable the 
operator to judge whether the program is being executed properly. If he 


CONTROL 345 

has any doubts, he may use some of the loading controls to feed informa¬ 
tion into various places in the machine, operate on them, and then view 
results. With the program-debugging controls he may dissect the program 
and view the results at any point. 

Several fault and error lamps are available on most control panels. 
If an error occurs, a lamp lights, indicating in what part of the computer 
the trouble has occurred. If something goes wrong with one of the external 
devices, a lamp lights, indicating which device is inoperative. 

In some machines a marginal checking device is available for checking 
all major active elements. Marginal checking is more of an aid in trouble 
prevention than in trouble shooting. 

Because the computer can read, write, and manipulate numbers, the 
cause of trouble may be obtained by means of a program called a “diag¬ 
nostic routine.” In essence, this program goes through the many operations 
that the machine is capable of and tests results. Some computers have 
such diagnostic routines built into the hardware; these routines are 
entered into automatically when an error signal occurs. 


SUMMARY 

1. The control unit consists of an instruction register and of automatic and 
manual control circuits. 

2. The automatic control determines the basic machine cycle which consists of 
sequencing the instructions, translation of commands and addresses, and 
execution of subcommands. Sequencing is accomplished in cooperation with 
the memory unit. For complicated instructions the execution stage may be 
extended by the arithmetic or input-output controls. 

3. A one-address computer is sequenced by a program counter. A flip-flop 
may be used to step from the fetch phase, in which the instruction word is read 
from the memory to the instruction register, to the execute phase, in which the 
address and command are translated and the subcommands are executed on the 
operands. Sequencing of the three-address computer is similar. 

4. A two-address computer is sequenced by means of a four-stage cycle 
counter. The four stages are as follows: 

a. Search for operand. 

b. Execute instruction. 

c. Search for next instruction. 

d. Read next instruction into instruction register. 

Sequencing the four-address computer is similar. 

5. The instruction word consists of a command and an address or a group of 
addresses. In the translation stage the address portion(s) of the instruction is fed 
to an address selector which allows the path to the chosen location in memory 
to be opened; and the command is fed to a command translator which produces 
a subcommand for each of the small operations required to execute a complete 

instruction. 










346 


FUNCTIONAL UNITS 


6 . During the execution phase the subcommands are converted to control 

signals occurring at the appropriate times for the execution of the required 
instruction. 

7. The basic machine cycle assumes an instruction requiring reference to 
memory. If the instruction does not require such reference, the address part of 
the instruction may be vacant or its contents may be sent to a special encoder 
which produces additional subcommands. 

8. The basic machine cycle may be modified by a branch instruction. In the 
one- or three-address computer, a jump to an instruction out of sequence occurs 
by sending the address part of the instruction to the program counter. In the 
two- or four-address computer, a jump occurs by feeding the data address, 
instead of the instruction address, to the address selector. 

9. An instruction may be modified by programming the addition of a number 
to the address part. An instruction may be modified more easily by having it 
BR modifiable, which means that before the instruction is executed the contents 
of a BR are added to the address part of the instruction. 

10. Manual controls and indicators are provided to allow the operator to 
start and stop computer operation, to load the computer with data or with a new 
program, to help during the debugging of the program, and 'for trouble shooting. 

11 . Definitions to Remember 

SUBCOMMAND— One of the many operations that must be performed in 
order to complete a command. Example: opening a gate, or resetting a flip-flop, 
or causing a register to shift its contents to the right. 

SYNCHRONOUS COMPUTER —A computer whose subcommands are 
executed at times controlled by a master clock. 

ASYNCHRONOUS COMPUTER —A computer whose subcommands are 
not executed according to times from a master clock; one operation begins 
after the previous operation is completed. 

BRANCH INSTRUCTION— An instruction which may cause the machine to 
choose the next instruction out of the usual sequence. Example: the uncon¬ 
ditional and conditional jumps and comparison instructions. 

UNCONDITIONAL JUMP —An instruction which always causes the 
machine to execute a specified instruction out of the normal sequence. 

CONDITIONAL JUMP —An instruction which causes the machine to 
execute a specified instruction out of the normal sequence, only if certain 
conditions are met. 

COMPARISON INSTRUCTION —An instruction which compares two 
numbers to see which is larger or smaller and then performs a jump on the basis 
of the results. 

CONDITIONAL HALT INSTRUCTION —An instruction which causes the 
machine to come to a halt only if a halt switch on the control panel is thrown. 

SAMPLING INSTRUCTION —An instruction which looks at the state of the 
input register. If it is not full, the next instruction in sequence is executed. If it is 

full, the contents are transferred to the memory and an instruction out of 
sequence is executed next. 

BREAKPOINT —A point in a routine where the computer may be stopped by 
the operator for a check of the routine. 

B REGISTER A counter used to modify address portions of instructions 
before the instructions are executed. 


CHAPTER 16 

A specimen computer 


We now know of what building blocks computers are built. We know 
now how building blocks may be combined to perform an array of 
computer functions. We know how to combine functional building 
blocks into the five major functional units that any digital computer 
must possess. Now let us see how the functional units work together by 
describing an integrated specimen computer. 

The specimen computer presented is not a complete machine; it is a 
skeleton. However, the skeleton is good enough so that if enough flesh is 
added to the bones the computer can be made operable. 


GENERAL DESCRIPTION 

Computer Characteristics 

The specimen computer is a binary fractional fixed-point machine 
possessing 13 commands and a memory with a capacity of 64 words. 
The one-address instruction word is 12 bits long: 4 bits to encode the 
13 commands; 6 bits to encode the 64 memory addresses; 1 sign bit to 
specify whether the instruction should be modified by BR ; and 1 parity 
bit for checking. To simplify the logic of the machine, the data word 
is also 42 bits long: 10 magnitude bits, 1 sign bit, and 1 parity bit. 

A coincident-current magnetic-core type of storage is utilized for the 
memory. This type of storage requires parallel read-in and read-out. 
The arithmetic unit, on the other hand, operates serially. As is shown 
later, a buffer register is utilized to make the memory and arithmetic units 
compatible. 

The external storage medium is punched paper tape encoded in octal. 
A reader reads sequentially groups of three bits representing octal digits. 
Similarly, on the output side, the information is transmitted to the punch 
in groups of 3 bits. 


347 




TABLE 22 


Characteristics of Specimen Computer 



Language 
Number system 
Number range 
Number designation 
Bit representation 
Type of transmission 
Word size 


Instruction code 

Composition of instruction word 


Composition of data word 


Machine timing 
Instruction repertoire 


Checking scheme 
Memory 
Type 
Capacity 
Construction 
Input-output 
Type 

Number system 
Arithmetic 

Type of algebraic addition 

Type of multiplication 
Speed 


Building blocks 
Basic logical elements 

Amplification 

Storage 


Binary 

Magnitude less than one 
Fixed point 

one = 0-v level; zero = — 6 v level 
Serial; writing and reading are in parallel 
12 bits; 10 information bits, 1 sign bit, 1 parity 
bit; parity bit not present in arithmetic and 
input-output units 
One-address 


Address 


Parity Column 

Row 

Command 

Sign 

X XXX 

XXX 

xxxx 

X 

Parity 

Magnitude 

Sign 

X xxxxxxxxxx 

X 

Synchronous 




Word-time = 14 bit-times 



0001 * Store 

1000 

Punch 


0010 *Clear add 

1001 

Jump 


0011 *Add 

1010 

Set BR 


0100 ^Subtract 

1011 

Test BR 


0101 * Multiply 

1100 

Jump on 

Minus 

0110 ♦Shift right 

1101 

Halt 


0111 Input 





* BR modifiable instructions if sign of instruc¬ 
tion word is negative 


Parity-bit detector 

Coincident-current magnetic core 
64 words 

12 8 x 8 core planes 

Punched paper tape reader and punch 
Octal 

Negative numbers converted to 2’s complement 
and added 

Sequence of alternate additions and shifts 
Addition: 1 word-time 
Multiplication: 22 word-times 
BR modification: 1 extra word-time 

Diode and’s and or’s; transistor amplifiers for 

NOT 

Transistor amplifiers 
Direct-coupled transitor flip-flops 
Square-loop magnetic cores (bulk storage) 


SPECIMEN COMPUTER 349 

In the paper tape the bits are stored as holes for one’s and no-holes for 
zero’s. In the inside of the computer, one’s are stored as 0-v levels, and 
zero’s as — 6-v levels. Machine timing signals are pulses of 6-v amplitude. 

The one’s and zero’s are operated upon by means of diode and and 
or circuits. Since after four levels of logic the information signal is deterior¬ 
ated, a transistor amplifier is used to restore its energy. Two types of 
amplifiers are provided, one to reverse the polarity in order to produce the 
not function, and one merely to amplify and not change the polarity. 
For delay and control functions, direct-coupled transistor flip-flops are 

used. 

These basic building blocks are combined into gates, registers, counters, 
selectors, generators, detectors, and adders which are needed to breathe 
life into the machine. 

The essential characteristics of the computer are given in Table 22. 


Computer Organization 

A system block diagram showing the major functional blocks within 
each of the functional units of the specimen computer is drawn in Fig. 156. 

The memory consists of 12 magnetic-core coincident-current planes 
driven by column and row address selectors. Information arrives at the 
memory unit serially and leaves it serially. Access to the coincident- 
current planes, however, is in parallel. The MR acts as a buffer to convert 
parallel read-out information to serial form, and serially arriving informa¬ 
tion into parallel form for writing into the cores. A parity-bit detector 
checks the information as it is removed from memory. 

A parity-bit generator generates an extra bit according to the rules of 

parity just before a word is written into memory. 

Machine words are in binary. However, instruction and data words 
are written in octal form onto punched paper tape. These are then fed to 
memory via the input-output register. The three bits of each octal digit 
are applied directly to the appropriate storage cells of the input-output 
register. The read-in is under control of a word counter. Output from 
the input-output register to memory is in serial. Words are sent serially 
into the input-output register and then fed from the separate storage cells 

to the punch under control of a word counter. 

The arithmetic unit executes the arithmetic operations. Words are fed 
from memory directly to the adder or to the adder via the arithmetic 
registers, AR, DR, and XR. The adder performs algebraic addition, 
algebraic subtraction, and the addition steps in the multiplication process. 
Results arc stored in AR from which point they are returned to the 
memory. As negative words enter the arithmetic unit, they arc converted to 








































352 


FUNCTIONAL UNITS 


their 2’s complement by the adder and complementer; positive words are 
untouched. Similarly, as words in 2’s complement form are removed from 
AR, they are recomplemented by the complementer to bring them back to 
absolute value plus sign form. 

The control unit determines the sequencing, translation, and execution 
of the instructions. From memory the instructions are transmitted to IR , 
where the instruction bits remain while being translated by the command 
translator and the column and row address selectors. The command 
translator produces subcommands which activate the appropriate gates 
to perform the necessary pieces of the operation. The timing and shift 
control determines in what sequence the subcommands are performed. 
At the end of an operation the program counter is stepped; its contents are 
fed to the column and row selectors to choose the next instruction to be 
executed. BR is used to modify instructions: before execution of an 
instruction the contents of BR are added to the contents of IR in the adder; 
the new instruction is returned to IR and translated and executed. The 
automatic control of the machine may be modified by the manual controls 
on the panel of the machine. 


MEMORY (Fig. 157) 


The memory consists of 12 64-bit magnetic-core planes, one plane for 
each of the 12 bits to a word. Column and row selectors and drivers 
(^wr) choose the appropriate address by a coincidence of column and 
row currents. Information write amplifiers (/) cause one’s and zero’s 
to be written into the chosen core in each plane. Sense amplifiers (S') 
amplify output signals leaving each plane during read-out. Reading and 
writing are accomplished in parallel. The MR acts as a buffer to convert 
parallel information into serial form for outward transmission, and serially 
arriving information into parallel form for writing into the core planes. 
A parity detector is in the serial read-out path. A parity-bit generator is in 
the serial read-in path. 

Read-Write Cycle 

The memory operates in a read-write cycle which takes one word-time, 
as shown in Fig. 158. Parallel reading occurs during the first bit-time, serial 
transmission to and from MR occurs during the next 12 bit-times, and 
parallel writing occurs during the last bit-time. 

During a read-type instruction—clear add, add, subtract, multiply, 
I punch—read and rewrite subcommands are produced by the control 





Write 



Write 

Rewrite 



hd 


Column 

address 

selector 


h 


PC-0 PC-1 


PC-2 


PC-3 


PC-4 PC-5 


/P-4 /P-5 /P-6 /P-7 /P-8 /P-9 



Read /q 


1_Write 

Paritw Hit 

1-<1^12 

rariiy-uii 

generator 

J 


Parity 

detector 

_i 

■B 

^ 131 

BM 



Clear 
stop FF 


H •write 


Fig. 157. Mcmortfcf Mjtccimcn computer. 













SPECIMEN COMPUTER 


353 


unit. The read subcommand operates at t 0 to transmit the 12 bits of 
the word in parallel to MR. At t ± to f 12 , the bits are transmitted serially 
through the parity detector to the arithmetic or output units. Because of 
the destructive read-out of magnetic cores, at *13 the bits of the word are 
removed from MR and rewritten into memory. 



Read-type instruction 


MR 

to 

memory 


MR to arithmetic or output units 


Parity 

MSB 









LSB 

S 


Arithmetic or input units to MR 


Memory 

to 

MR 



Write-type instruction 



Parallel 


Parallel 

write 

ocnai transmission ^ 

i i i i i i i i i I I 

read 

*13 

-1-1-1 1 1 1 1 1 1 1 r 

*12 *11 *10 *9 *8 *7 *6 *5 *4 *3 *2 *1 

1 VA/nrH - 

*0 

< 

i woru-iime 



Fig. 158. Read-write cycle. 

During a write-type instruction—store, input, set BR —no read sub¬ 
command occurs; nothing happens during t 0 . During t x to t ll9 the bits of 
the word are transmitted serially from the arithmetic or output units to 
MR through the parity generator. At time t 12 a parity bit is generated. 
At time f 13 the 12 bits of the word including the recently produced parity 
bit are written in parallel into memory. 

Address Selection 

The address is chosen by a 6-bit combination arriving from the program 
counter or from the address part of the word in the instruction register. 
In the first case, an instruction is read out of memory into the instruction 
register. In the second case an instruction word or data word is read from 
or written into memory. 

The address is divided into a 3-bit column address and a 3-bit row 
address, each of which is fed to a diode selector. The selector decodes the 
bits into a signal on one of 3 output lines. The activated line opens the 
associated driver. During a write operation, current is made to flow in one 
direction; during a read operation, current is made to flow in the opposite 
direction through this driver. 


354 FUNCTIONAL UNITS 

Writing and Reading 

One bit of each word is stored in one core in each plane. The lowest 
plane stores the sign, the next plane the least significant bit, followed by 
the other bits in order, and the topmost plane stores the parity bit. 

Writing of a bit in the chosen core of each plane is accomplished by a 
coincidence of three currents: the column current, the row current, and 
the information current. One column driver feeds current through the 
chosen column of each plane, and one row driver feeds current through 
the chosen row in each plane. Separate information drivers feed each 
plane. In planes where we want to write a one, the information current 
is in a direction aiding the row and column currents. In planes where we 
want to write a zero, the information current is in a direction opposing 
the row and column currents. In the first case the chosen core flips; in 
the second case it does not. 

Reading is performed by reversing the row and column drive currents. 
The outputs are introduced into the sense amplifiers, one for each plane. 
The sense amplifiers convert the signals into pulses of standard amplitude 
before they are transmitted to MR. 

M Register 

The MR is a shift register capable of accepting information in serial or 
in parallel, and transmitting it in serial or in parallel. During reading 
(t 0 ), the 12 bits from the 12 sense amplifiers are fed through 12 gates to each 
of the 12 storage cells of MR. Once in the register, timing pulses t x to t 12 
shift the bits from one storage cell to the next, and from the LSD through a 
parity bit-detector to the bus. During this same time a recirculation gate is 
opened to allow the bits to feed back to the other end of the register ; 
this is done to maintain the bits in storage. At t 13 the bits are applied 
through the information drivers to the same cores in memory from which 
the bits were removed. 

If writing is taking place, bits are transmitted serially at times t ± to t n to 
the parity-bit generator. Out of the generator the eleven bits plus a parity 
bit are transmitted during t 1 to t 12 to MR. This time the recirculation gate 
is inhibited, so that the new bits replace the old. Again, at t 13 , the 12 bits 
are applied in parallel through the information drivers to the chosen cores. 

Parity-Bit Detection and Generation 

The 10 magnitude bits of the word may contain an odd or an even 
number of 1-bits. If the number of one’s is odd, a zero is recorded for 
the parity bit; if the number of one’s is even, a one is recorded for the 


SPECIMEN COMPUTER 355 

parity bit. Thus the sum of all the one’s (excluding the sign bit) should 
always be odd. 

The parity-bit detector tests for this condition. In essence it is nothing 
more than a complementing flip-flop which reverses states with each one. 
After all the bits pass through, a timing pulse t 12 samples the state of the 
flip-flop. If it reads one, everything is alright. If it reads zero, indicating 
an even count of one’s, the stop flip-flop is set. This flip-flop, in turn, 
stops the computer. 

INPUT-OUTPUT (Fig. 159) 

The external storage medium for the specimen computer is punched 
paper tape. Instruction and data words are entered onto punched paper 
in octal form: the 10 bits plus sign bit are represented by 5 octal digits, 
as shown in Fig. 160. An input instruction causes the bits of each octal 
digit to be entered into the appropriate storage cells in the input-output 
(I-O) register under control of the word counter; when the register is full, 
the bits are shifted out serially into MR. During a punch instruction, the 
bits are shifted serially from MR to the 1-0 register; when the register is 
full, the bits of each octal digit are removed under control of the word 
counter and are punched on paper tape. 

Input Instruction 

An input instruction produces the input command signal which sets the 
read-in flip-flop and turns on the paper tape reader. At the same time that 
the reader reads the three bits of each octal digit, it also reads an input 
timing pulse. The input timing pulse is applied to the synchronizer which 
produces a sync pulse occurring at t 0 . The sync pulse steps the word 
counter to 1. The 1-output of the word counter plus the “start read-in” 
signal from the read-in flip-flop allow the most significant bit to enter the 
most significant storage cell of the 1-0 register. As the three bits of the 
next octal digit are read, the associated input timing pulse becomes a sync 
pulse which steps the counter to number 2. The 2-output of the word 
counter plus the “start read-in” signal allow the next most significant 
three bits to enter into the three next most significant storage cells of the 
1-0 register. 

As each octal digit is read, the associated sync pulse steps the counter 
to cause the bits to be entered into progressively less significant storage 
cells until, at count 5, the sign is entered in the least significant position. 
Also at the count of 5, the read-out flip-flop is set. The set output resets 
the read-in flip-flop whose output in turn shuts off the reader. 

The read-out flip-flop is turned on at time t Q . During t x to the bits 


Start 

read-i 


356 


FUNCTIONAL UNITS 



Ih 

« 

P 

Oh 

a 

o 

o 

c 

s 

a 

o 

I 

c/5 


P 

D-. 

3 

O 

i 

P 

Oh 

C 


O' 

IO 


M 

• ■B 

u. 


1J 
£ 


SPECIMEN COMPUTER 357 

in the 1-0 register are shifted through the output gate to MR. During t 12 
a parity bit is generated, and during / 13 the whole word is written into the 
address in memory specified by the instruction word. 

At r 13 , too, the read-out flip-flop is reset. The 1-0 register is clear and 
ready for another input or punch instruction. Figure 160 shows the 
relationships among the number to be entered, its octal representation, 
and its representation on paper tape, and in the 1-0 register. 

Number to be entered 1 101 110 011 Minus 

Octal representation 1 5 6 3 1 


Representation 
on paper tape 

-Movement of tape channel 



In 1-0 register 


□ 

1 

0 

1 

1 

1 

0 

0 

1 

1 

1 


Fig. 160. Punched paper tape format. 

Punch Instruction 

During t Q of a punch instruction, a read subcommand causes read-out 
of the word from memory into MR. During t x to t n , the bits are shifted 
out of MR into the 1-0 register. At t 12 the parity detector generates a 
pulse to stop the computer if the number does not meet the parity rule. 
The word transferred from memory remains in the 1-0 register. At / 13 
the “start punch” flip-flop is set to turn on the punch, and to halt computer 
sequencing until the punch finishes its job. 

The punch produces punch timing pulses which are converted to sync 
pulses at time t 0 . These sync pulses step the word counter in the same way 
they do during the input operation. In the 1-output position the most 
significant bit is applied to the punch. In the succeeding positions of the 
counter, lower significant bits are transferred in groups of three to the 
punch. During step 5, the sign bit is transferred and the start punch 
flip-flop is reset to stop the punch. The stop punch signal also allows 
the end-of-operation signal to be produced to enable instruction sequencing 
to continue. 

ARITHMETIC (Fig. 161) 

The arithmetic unit executes the add, subtract, shift-right and multiply 
instructions. Before these instructions may be executed, a clcar-add 




























360 FUNCTIONAL UNITS 

instruction brings an operand into AR. The second operand is entered 
by the arithmetic instruction. After the arithmetic operation is performed, 
the result may be returned to memory by means of a store instruction. 
For all operations except multiply, negative operands are stored in arith¬ 
metic registers and are operated upon in 2’s complement form. This 
means that complementation may occur during the input or output of a 
negative word. 

General Description 

The arithmetic unit consists of three arithmetic registers— AR , DR, 
and XR —an adder and complementer, an output complementer, sign 
circuits, multiply counter, and several flip-flops. 

AR and DR are 10-bit shifting recirculating registers. AR is the accumu¬ 
lator, and DR stores the multiplicand. Shift pulses are under control of 
the timing and shift control. (Shift pulses are not shown at the registers.) 
Both AR and DR have separate flip-flops for storing the A and D signs. 

XR is a 10-bit shifting register for storing the multiplier. Associated 

with XR is a multiplier-bit flip-flop which controls the addition of the 

* 

multiplicand to the accumulated partial product during the repeated 
addition and right-shift process used in multiplication. 

The adder and complementer produce the sum or difference of the 
two terms applied to them and return the result to AR. Whenever neces¬ 
sary, the adder complements and adds at the same time. This it does by 
the judicious use of gates, as shown below. 

The output complementer converts results that are in 2’s complement 
form back to absolute-value form while they are being transmitted to 
memory. 

The sign circuits determine whether the sign of the result, as stored in 
the A sign flip-flop, should be left alone or reversed. This it does under 
control of the A and D sign flip-flops and the presence or absence of 
overflow. 

The multiply counter together with its associated encoder and decoder, 
and the multiplication-phase flip-flop control the more extensive sequenc¬ 
ing required to execute a multiply instruction. 

The Adder 

The adder is of the serial type. The augend and addend bits plus the 
carry bit from the previous position are combined in this circuit, and the 
sum bit is fed to the accumulator. The carry bit is delayed one bit-time 
and returned to the input of the adder in time to be combined with the 
next most significant augend and addend bits. 


SPECIMEN COMPUTER 361 

The augend is applied to the adder from AR which is storing negative 
words in complement form. The addend, on the other hand, is applied 
directly to the adder in absolute-value form. If the addend is positive, 
the adder behaves as any normal adder. If the addend is negative, the adder 
complements the addend and then adds. To convert the sum from l’s com 
plement to 2’s complement, a 1 is added to the LSD. 



Fig. 162. Adder and complementer of specimen computer. 

The adder circuit is shown in Fig. 162. Here A is the augend, D the 
addend, C the carry from the previous position, S the sum bit, and 
C the output carry bit. The sum circuit and the carry circuit produce the 
normal adder outputs when the “don’t complement” signal is applied; 
they produce outputs which take into account the complementation of the 
addend when the complement pulse is applied. 

The add table in the illustration is a truth table showing the conditions 








362 


FUNCTIONAL UNITS 


under which sum and carry bits are produced during simple addition. 
These conditions may be summarized by the following logical expressions: 

S = A-D-C + I-D-C' + A-D-C' + A-D-C 
C=A-D-C' + A- D-C' + A- D-C' + A- D-C' 

The complement and add table is a truth table showing the conditions 

under which sum and carry bits are produced if the addend bit is assumed 

to be complemented first. Note that the S' and C bits are obtained by 

assuming a value of 1 for each D bit which is 0, and a value of 0 for each 

D bit which is 1. This truth table may be summarized by the following 
logical expressions: 

S c = I ■ D ■ C + A • D • C + A • D ■ C' + A ■ D ■ C' 

C c = A • D • C + A • D • C' + A ■ D • C' + A • D • C' 

If D and D are factored out, the expression for the simple sum may be 
rewritten: 

S = D • (A ■ C + A-C) + D • (A-C' + A ■ C) 

If D and D are similarly factored out of the expression for the sum 

assuming complementation of the addend bit, the sum expression may be 
rewritten: 

S c = D ■ (A-C' + A ■ C) + D ■ (A ■ C + A-C') 

By a similar factoring procedure, the carry expressions may be rewritten: 
No complementation 

C c = D ■ (A ■ C') + D ■ (A ■ C' + A ■ C' + A ■ C') 

= A- C' + D • (A ■ C + A • C') 

Complementation 

C c = D ■ (A ■ C + A • C' -f A • C') + D ■ (A ■ C') 

= D- (A- C' + A- C') + A- C' 

By studying the above expressions, several important facts come into 
view: 

(A-C + A-C') is common to several terms. 

2. (A • C + A • C') is common to several terms. 

3. A • C f produces a carry regardless of whether D or D is present, 
or whether the addend is complemented or not. 

Because of these conditions, duplications may be avoided by manufac¬ 
turing A • C', A - C\ A - C\ and A C' by means of gates A x to A v and 


SPECIMEN COMPUTER 


363 


combining the first two in O x and the second two in 0 2 . Gates A 5 and A 6 
produce the two terms of the sum when no complementation occurs. Gates 
A 7 and A 8 produce the two terms of the sum when complementation does 
occur. The output of O x is also fed to the carry circuit gates A 9 and A 10 . 
Gate A 9 produces D • (A • C' + A • C') when a complement pulse is present; 
gate A 10 produces D • (A • C’ + A • C') when a “don’t complement” pulse 
is present. The A • C is fed to the carry output line under all conditions. 

Add, Clear-Add and Subtract Instructions 

Before an add instruction is given, the augend is present in absolute- 
value form in AR , and the A sign flip-flop is storing its sign. 

When the add command is translated, it produces read and rewrite 
subcommands; at the same time, the address part of the instruction 
chooses the appropriate location in memory to be read. The word is 
read-out of memory in parallel into MR during t Q . During t x the sign bit 
is transferred from MR to the D sign flip-flop via gate A 12 . If the sign is 
minus, the D sign flip-flop is set; if the sign is plus, the D sign flip-flop 
remains reset (this is the state in which the reset D sign signal placed it 
during / 0 ). During t 2 to / n , the 10 magnitude bits are transferred from 
MR to the adder via A v These are the bits labeled D in the adder circuit. 

At the same time that the magnitude bits of the addend (D bits) are being 
applied to the adder, the 10 augend bits stored in the A register (A bits) are 
also applied to the adder; at t x a pulse is produced which causes a 1 to be 
added to the LSD of AR at t 2 . 

If the D sign flip-flop is set, the adder complements and adds. If the D 
sign flip-flop is reset, the adder produces simply a sum. As each sum bit is 
produced, it is fed back to AR. Thus, after time t ll9 the complete sum is 
stored in AR. 

The sign of the sum is determined by the sign circuits. The sign of the 
sum depends upon the following factors: 

1. The sign of D. 

2. The sign of A. 

3. The presence or absence of a carry from the most significant position 
(overflow). 

The signs of D and of A are compared immediately after the D sign flip- 
flop has received the addend sign bit, and the result of the comparison is 
stored in a flip-flop. If overflow occurs, at r 12 it enters the sign circuits 
to modify its output. At / 13 , the sign circuits set the A sign flip-flop under 
the conditions given in Table 23. Under all other conditions, the A sign 
flip-flop remains reset because of the reset A sign signal applied to it 
during / 0 . 


364 FUNCTIONAL UNITS 


TABLE 23 

Determination of Sign of Sum 


Input 

Output 

A Sign 

D Sign 

Overflow 

A Sign 

— 

— 

Yes 

— 

+ 

— 

Yes 

+ 

— 

+ 

Yes 

+ 

+ 

+ 

Yes 

— 

— 

— 

No 

+ 

+ 

— 

No 

— 

— 

+ 

No 

— 

+ 

+ 

No 

+ 


A clear-add instruction is executed in a manner similar to the add 
instruction except that a clear-^ subcommand clears AR to 0 during t 0 , 
and the sign is transferred during t x to the A sign flip-flop instead of to the 
D sign flip-flop. During t 2 to t ll9 the magnitude bits applied to the adder 
through A ± are added to zero coming from AR. The sum which is the 
same as the input word is sent to AR. Thus a simple transfer occurs from 
memory to AR, and it occurs this way if the A sign flip-flop is reset. If 
the A sign flip-flop is set, the complement of the word is sent to AR. 

During algebraic subtraction, the adder operates the same way as 
during algebraic addition. The only difference is that the D sign flip-flop 
is set when the sign is plus, and reset when the sign is minus. Thus com¬ 
plementation during algebraic subtraction occurs at opposite times to 
its occurrence during algebraic addition. 

Right Shift and Multiply Instructions 

AR, DR, and XR are of the shifting type; they shift only when shift 
pulses are applied to them from the timing and shift control. When ten 
shift pulses are applied, all ten bits in the register are shifted out. If at the 
same time the recirculating gates in AR and DR are activated, the ten 
bits return to their original positions in the register after shifting. 

To obtain a one-place right shift of a word stored in AR, only one shift 
pulse is applied. To obtain a right shift of two pulses, two shift pulses 
are applied, and so on. A right-shift instruction has a number in the 
address part specifying the number of shifts. This number is decoded to 
produce a signal which is applied to the timing and shift control; this 
circuit, in turn, produces the appropriate number of shift pulses to be 
applied to AR. 


SPECIMEN COMPUTER 


365 


The ability to recirculate the contents of AR and DR and to perform a 
right shift in AR and XR makes these registers adaptable to the addition 
and right-shift process of multiplication. Also important for the multi¬ 
plication process are: the multiplier-bit flip-flop which determines 
whether the least significant bit of the multiplier is 1 or 0; the multiplica¬ 
tion-phase flip-flop which causes alternate add and shift stages; and the 
multiply counter with its encoder and decoder for controlling the sequenc¬ 
ing of the multiplication instruction. 

A multiplication is translated into several subcommands, one of which 
is “insert 11.” At t 0 the insert-11 signal is applied to the encoder which 
inserts the binary equivalent of 11 into the multiply counter. With the 
aid of the decoder, the counter controls the 22 steps of the multiplication 
process, as follows. 

During the first word-time, the number 11 is decoded into an a signal 
which controls rearrangement and transfer of words to take part in the 
multiplication operation. During the following 20 word-times, the counter 
is stepped down once every alternate word-time, and the decoder produces 
a ft signal to allow the multiplication-phase flip-flop to control the shift 
and add stages. During the 22nd word-time, the counter is stepped down 
to 0, which is decoded as y. The y signal rearranges the words so that the 
product appears in AR. 

The actual steps in the multiplication process are as follows. At 
a is produced. At t 0 , also, the multiplier stored in memory is read into 
MR. During t l9 the sign is transferred from MR to the D sign flip-flop. 
During t 2 -t xl , the word is transferred to XR via A 3 . Note that the word 
enters XR in absolute-value form. At the same time that the multiplier 
magnitude bits are entering XR, the previously stored multiplicand bits in 
AR are transferred to DR via the output complementer and A 2 . The 
output complementer converts the word into absolute-value form. Thus 
at the end of the first word-time of the multiplication, DR is storing the 
multiplicand, and XR is storing the multiplier. 

During a, the sign circuits compare the two signs. If they are unequal, 
they set the A sign flip-flop. If they are equal, the A sign flip-flop stays 
reset. 

At / 13 the multiply counter is stepped down and the decoder produces 
ft. At t x the coincidence of ft and the shift signal produced by the multi¬ 
plication-phase flip-flop, which was set at the beginning of the multiply 
operation, produce a pulse at A u which causes AR and XR to shift one 
place to the right. The rightmost bit in XR enters the multiplier-bit 
flip-flop. If it is a ONE, it sets the flip-flop. If it is zero, the flip-flop 
remains reset because of the pulse applied to it at t 0 . At A l0 produces a 
pulse which complement# tlu* multiplication-phase flip-flop and brings it 


366 


FUNCTIONAL UNITS 


to the add state. During the next word-time, A m is open if the multiplier- 
bit flip-flop is set, and closed if the flip-flop is reset. If gate A 18 is open, 
the multiplicand is shifted into the adder at the same time that the contents 
of AR (0 to start) are also shifted into the adder via A w . The sum—the 
first partial product—is returned to AR via A a . The multiplicand remains 
in DR since the recirculation gate is open. At the end of this word-time 
(at / 13 ), the multiplication-phase flip-flop is flipped to the shift state. As 
soon as this happens, the multiply counter steps down to 9. 

Since the output of the decoder is still /?, the shift and add stages are 
repeated as before. This shifting and adding under control of the least 
significant multiplier bit are performed for each of the ten multiplier bits. 
After 20 word-times the most significant 10 bits of the product appear in 

AR. (The least significant 10 bits are lost through shifting). The product is 
in absolute-value form. 

To simplify mechanization as far as other instructions are concerned, 
during y the absolute-value form of the product in AR is converted into 
complement form if the A sign flip-flop is set—storing a minus. This is 
easily accomplished by feeding the product from AR through the output 
complementer back to AR via A 6 . 

Store Instruction 

The store is a write-type instruction. At t l9 the sign is transferred from 
the A sign flip-flop via A 25 to MR. During t 2 -t n , the contents of the 
register are transferred via the output complementer, which converts the 
word to absolute-value form, through A 20 to MR. During t 12 , the parity 
generator generates the appropriate parity bit, and during t 13 the entire 
word is written into the location in memory specified by the address. 

CONTROL (Fig. 163) 

The control unit accepts instruction words from memory, modifies 
the address if the instruction is BR modifiable, and produces the subcom¬ 
mands and other control signals needed to execute the instructions. 
After the instruction is executed, a program counter (PC) is stepped to 
choose the location in memory from which the next instruction is read. 
The sequencing may be modified by a jump instruction. 

Instruction Sequencing 

Instruction sequencing of non -BR modifiable instructions is under 
control of the instruction-phase flip-flop. Upon completion of an instruc¬ 
tion, the flip-flop is reset to the fetch state. When the instruction-phase 


SPECIMEN COMPUTER 


367 


flip-flop is in this state, the contents of the program counter are applied 
to the column and row selectors to read the next instruction into IR . 

At the end of the word-time, at t 13 , the instruction-phase flip-flop is 
flipped to the execute state. In this position, the address part of the 
instruction is applied to the column and row selectors to choose the 
operand, and the command decoder and subcommand encoder translate 
the command into subcommands. The subcommands plus the timing and 
shift pulses control the execution of the instruction. 

The execution takes one word-time for all instructions except multiply. 
In the latter instruction an insert-11 subcommand is applied to the 
multiply counter which then takes over sequencing. 

A subcommand produced for every instruction is the operation-com¬ 
plete pulse. This signal steps PC by one. At the end of the word-time, 
or for multiply at the end of the last word-time, the operation-complete 
pulse resets the instruction-phase flip-flop to the fetch state, and the 
sequence repeats. 

If the sign of the instruction is minus, the B sign flip-flop introduces 
an extra operation into the sequence. At time t 0 , the B sign flip-flop is 
reset. At time t l9 the minus sign sets the flip-flop. As a result, the instruc¬ 
tion bits entering from MR during t 2 to t n are applied to the adder. 
During t e to t n , the BR bits are also applied to the adder. The sum is 
immediately fed to IR. 

While the addition is taking place, the instruction-phase flip-flop 
remains in the fetch state since the 5-minus signal inhibits the set input. 
As soon as the addition is completed at / 12 , the B sign flip-flop is reset, 
and at t l3 the instruction-phase flip-flop is set to execute. The remainder 
of the sequence is as before. 

Memory and Nonmemory Instructions 

Nonmemory instructions are executed slightly differently from memory 
instructions. During the execute phase of a memory instruction, the 
address bits are applied to the column and row selectors while the shift 
control feeds pulses to the appropriate register or registers to accomplish 
the transfer of information. 

During a nonmemory instruction, such as a right shift, no address 
is present in the six most significant positions of IR. The “open RS 
decoder" subcommand inhibits the inputs and the selectors, and sends 
the six most significant bits of IR to the right-shift decoder. The right- 
shift decoder decodes the bits representing the number of places to be 
shifted into a signal which causes the shift control to produce the number 
of shift pulses required to accomplish this shift. 



Fig. 163. Control unit of specimen computer. 















370 FUNCTIONAL UNITS I 

Modifying the Sequence \ 

The basic machine sequence may be modified by a jump or a jump-on- * 

minus instruction. One of the subcommands produced during the 
translation of the jump command is “transfer instruction.” This signal 
inhibits the selectors, and causes the address to be transmitted to the 
program counter. The operation-complete pulse is prevented from 1 

stepping the program counter so that during the next fetch phase the next ' 

instruction to be executed is obtained from the address in the program 
counter. I 

The jump-on-minus instruction transfers the address to PC only if 
the sign of AR is minus. The sense sign subcommand and the A minus ] 

signal open the gates to PC. At the same time the sense sign subcommand 
inhibits the operation-complete pulse from stepping the PC. During the 
presence of A + and sense sign signals, the operation-complete pulse steps 
the program counter normally. 

Use of BR 

To use BR in a program loop requires two instructions: Set BR and 
test BR. The first stores a number in BR before the start of a loop. The 
second tests the loop each time the series of operations is performed to see 
if the loop should be broken. If no jump should occur out of the loop, a 
count pulse is applied to BR and the loop is repeated. I 

The set BR command is translated into several subcommands, among 
which are read, rewrite, and open BR. The read subcommand causes 
the word given by the address part of the instruction to be read out into 
MR during t 0 . During t x to t ll9 the bits of the word are transmitted out of 
MR. However, the open BR and signals allow only the six most 
significant bits to be shifted into BR. I 

The test BR instruction acts as a combination comparison and 
count BR instruction. The comparison is performed by means of the 
following subtraction: I 

Contents of BR — contents of test location 

where the test location is given by the address part of the instruction. 1 

The difference is stored in AR. The relative value of the two terms is 
determined by the A sign flip-flop. Since both terms are positive, a negative 
sign for the difference indicates the BR count has not reached the test 
number. Under these conditions BR is stepped once (by the step BR y sub¬ 
command) the program counter is stepped twice. The program counter 
is stepped once normally by the operation-complete pulse, the second time 
at t 13 . If the A sign flip-flop is positive, the program counter is stepped 
only once. 


SPECIMEN COMPUTER 371 

USING THE COMPUTER 

Now for a few words on how the specimen computer may be used. 
Before the computer may solve a problem, the problem must be pro¬ 
grammed. The program must then be loaded into the machine and 
debugged before actual operation. The loading, debugging, and operation, 
as well as maintenance, are under control of switches on the console. 

The Console (Fig. 164) 

The console stores controls and indicators for the performance of the 
following five functions: 

1. Power control. 

2. Operation control. 

3. Program test 

4. Manual input. 

5. Register display. 

The logic associated with each of these groups is discussed briefly below. 
(This logic is not included in the logical block diagrams in order to keep 
these diagrams simple.) 

Power control. In this group are included the a-c power and d-c 
power switches and the fuses. The switches are merely for turning on the 
power and activating the machine’s power supplies, and the fuses are for 
the protection of the several power supplies required for a digital computer. 

Operation control. In this group are included the start, stop, and 
mode switches; and the operate, paper-punch-on, and tape-reader-on 
indicators. 

The start and stop switches control machine sequencing. The start 
push button clears the program counter to 0, and then allows the operation- 
complete pulse to step the program counter to maintain instruction 
sequencing. As long as the operation-complete pulse is allowed to step 
PC, the operate lamp is lit. When the stop push button is depressed, the 
operation-complete pulse is inhibited from stepping PC and sequencing 
stops. 

The mode switch has three positions: Automatic, test, and load. In 
the automatic position, normal sequencing occurs. In the test position 
the program test switches are made operative. In the load position, the 
number 40 is introduced into the program counter, and then automatic 
sequencing begins. If the location 40 in memory is storing the first instruc¬ 
tion of the loading routine, a program stored on paper tape may be 
entered into memory. 










372 


FUNCTIONAL UNITS 


The paper-punch-on and tape-reader-on indicators are in series with the 
on-off switches of the respective devices. They therefore light when these 
equipments are operating. 



A-c power 
on 



D-c power 
on 

© © 

© © 

off 



Fig. 164. Control panel of specimen computer. 


Program test. In this group are included the one-instruction, break¬ 
point, and jump-no-jump switches; and the halt, parity error, and over¬ 
flow indicators. 

The one-instruction switch executes one instruction of the program at 
one time. Activation of the switch produces a simulated operation- 
complete pulse which steps the program counter. The instruction stored 
in this new location given by the program counter is then executed. The 


SPECIMEN COMPUTER 


373 


normally produced operation-complete pulse is inhibited, and sequencing 
stops until the one-instruction switch is depressed again. 

The breakpoint and jump-no-jump switches are used together. The 
breakpoint switch causes the computer to stop at key points in the program 
being tested. The jump-no-jump switch may then be used to continue 
normal machine sequencing or to modify sequencing. In the stop position 
the breakpoint switch causes the computer to stop at the occurrence of a 
conditional jump instruction: the combination of the breakpoint stop 
signal plus the jump signal inhibits the operation-complete pulse from 
stepping the program counter, and inhibits gates between the address part 
of the-instruction register and the program counter. When the breakpoint 
switch is placed in the proceed position, one of the above paths is opened: 
the gates between IR and PC if the jump-no-jump switch is in the jump 
position; the gate allowing the operation-complete pulse to step the 
counter if the jump-no-jump switch is in the no-jump position. 

The halt, parity error, and overflow indicators light whenever the 
indicated conditions occur. The overflow lights only when the overflow 
represents an exceed-capacity. 

Manual input. Manual input is controlled by the input-bit switches 
and the register input selector. Bits are entered by placing the input bit 
switches in the one or zero positions. The setting of the register input 
selector determines to which register this number is transferred. The 
actual shifting of the bits into the chosen register starts when the push 
button is depressed. 

Register display. The register indicator lamps are connected to the 
outputs of each of the flip-flops composing the registers. An indicator 
is lit when a one is stored; unlit when a zero is stored. 


Programming 

To show more definitely how the computer operates, a simple program 
will be prepared, loaded into the specimen computer, debugged and 
performed. For ease of reference when discussing the program, the 
command code of the specimen computer is summarized in Table 24. 

The program to be developed is one for finding the smallest number in a 
group of 60 numbers. Basically the program is as follows. The 60 
numbers are stored on the punched paper tape, and the routine asks the 
tape reader to read-in one word at a time and store it in a location in 
memory called the “latest number location.” This latest number is 
compared with the smallest number obtained from the previous com¬ 
parison. If the latest number is the smaller of the two, the latest number is 
transferred to the smallest number location. If the previous smallest- 



374 


FUNCTIONAL UNITS 


TABLE 24 

Specimen Computer Command Code 


Command Code 


Octal 

Binary 

Name 

Description 

01 

0001 

Store 

*store AR contents in location given by 
address. 

02 

0010 

Transfer 

♦transfer to AR, contents of location 
given by address. 

03 

0011 

Add 

♦add algebraically contents of location 
given by address to AR contents; 
leave sum in AR. 

04 

0100 

Subtract 

♦subtract algebraically contents of loca¬ 
tion given by address from AR 
contents; leave difference in AR. 

05 

0101 

Multiply 

♦multiply AR contents by contents of 
location given by address; leave pro¬ 
duct in AR. 

06 

0110 

Shift right 

shift right AR contents a number of 
places given in address part of 
instruction. 

07 

0111 

Input 

input a word from punched paper tape 
to location given by address. 

10 

1000 

Punch 

punch onto paper tape word stored in 
location given by address. 

11 

1001 

Jump 

jump to instruction stored in location 
given by address. 

12 

1010 

Set BR 

set BR by transferring to it address bits 
of word stored in location given by 
address. 

13 

1011 

Test BR 

test BR by subtracting contents of 
location given by address from BR 
contents. If difference is plus, sequence 
normally; if minus, step BR and jump 
to instruction stored in location 
following next location. 

14 

1100 

Jump on minus 

test sign of AR and jump on minus 
to instruction at location given by 
address; if it is plus, sequence 
normally. 

15 

1101 

Halt 

halt computations. 


* These commands are modified by BR when the sign of the instruction word 
is minus. 


SPECIMEN COMPUTER 


375 


number is still the smallest, the next word is read-in from the tape for 
another comparison. This loop is repeated until 60 numbers have been 
compared. BR keeps count of the number of comparisons. After the 
59th comparison, signifying that 60 words have been compared, the 
smallest number is punched onto paper tape. 

TABLE 25 

Number Comparison 


Location Instruction Code 


Ol 

Instruction 

Command 

Address 

Explanation 

01 

12 

16 

SET BR to 1. 

02 

07 

21 

input first word from paper tape to 
smallest number location. 

03 

07 

20 

input (second) word from paper tape to 
latest number location. 

04 

02 

21 

transfer smallest number to AR. 

05 

04 

20 

subtract latest number from smallest 
number. 

06 

14 

11 

jump on minus to instruction stored in 11. 
If AR is plus, sequence normally. 

07 

02 

20 

transfer latest number to AR. 

10 

01 

21 

store latest number as smallest number. 

11 

13 

17 

test BR to see if 59 comparisons have 
been made. If so, sequence normally. 
If not, add one to BR contents and jump 
to instruction in 13. 

12 

11 

14 

jump to 14. 

13 

11 

03 

jump to 03 to repeat loop. 

14 

10 

21 

punch smallest number. 

15 

15 

00 

HALT. 

16 

00 

01 

Constant. 

17 

20 

21 

00 

73 

Octal for 59 (for testing count). 

Latest number location. 

Smallest number location. 


The program is shown in Tabic 25. In addition to storage locations 
20 and 21 which store the latest number and smallest number respectively, 
two other locations, 16 and 17, are reserved for the storage of constants. 
The steps of the routine refer to these locations (shown at end of Table 25). 

The routine is as follows. Before the program loop is begun, BR is set 
to 1, and the first word is read from the tape and stored in the smallest 



376 


FUNCTIONAL UNITS 


SPECIMEN COMPUTER 


377 


number location. The first instruction word of the loop is stored in loca¬ 
tion 03. The next number (labeled second in the table) is read in from the 
tape to the latest number location and the latest number is subtracted 
from the smallest (steps 4 and 5). The next step is a jump-on-minus 
instruction. If the result of subtraction is a plus, the latest number is 
transferred to the smallest number location (steps 7 and 10). If the result 
of the subtraction is minus, a jump occurs to 11. At this location the BR 
contents are tested against the test count of 0073, which is octal for 59. 
Since fewer than 59 comparisons have been made, BR is stepped to 2, 
and the routine jumps to the instruction in 13 which, in turn, calls for a 
jump to location 03 to repeat the loop. During the second time through 
the loop, the third word enters from the tape to the latest number location, 
and it then takes part in the comparison. After each time through the 
loop, the test is made and the loop is repeated until the 59th comparison 
is accomplished. At this point the computer sequences to the instruction 
in 12 which, in turn, calls for a jump to 14 where the smallest number is 
punched out after which the computer is halted. 

Loading 

The words of the previous program should be stored in locations 01 
to 21. How do we go about entering these words in their proper locations ? 
In other words, how do we load the program ? 

Loading is accomplished by means of a punched paper tape reader and 
a loading routine stored in memory; this routine is called into operation 
when the mode switch is placed in the load position. The location in 
which the first instruction of the program is to be stored is entered manually 
by means of the input-bit switches and the register input selector. 

The sequence of operations required to load a program is as follows. 
First the program is punched onto paper tape; in addition to the actual 
program, the number of words in the program—17 or octal 21 in the 
previous illustration—is punched as the first word. This tape is mounted 
on the reader which is then placed into operation. By means of the input- 
bit switches, the location of the first word of the program—01 in our 
example—is entered. The register input selector is placed in the AR 
position and the push button is depressed. This causes the number 
stored on the panel to be transferred to AR. After this is accomplished, 
the mode switch is placed in the load position, causing the computer to 
start sequencing with the instruction in location 40, the first instruction 
of the loading routine. 

The loading program stores an input-instruction constant which is 
continuously modified to cause entry of succeeding words on tape to 
successive memory locations. At the start of the routine, the address of 


TABLE 26 

Loading Routine for Specimen Computer 


Location Instruction Code 


U1 

Instruction 

Command 

Address 

Explanation 

✓ 

40 

01 

55 

store “location of first program word” 
(previously transferred from panel to 
AR). 

41 

07 

56 

input first word from tape into “number 
of program words” location. 

42 

02 

54 

transfer input-instruction constant to 
AR. 

43 

03 

55 

add “location of first program word” 
to input-instruction constant. Result: 
—input 01. 

44 

01 

57 

store in input-instruction word location 
and 

45 

01 

47 

store in 47. 

46 

12 

53 

set BR to 0. 

47 

-07 

(01) 

input (first) instruction word of program 
into the (first) location of the program. 

50 

13 

56 

test BR to see whether the specified 
number of program words have been 
transferred to memory. 

51 

15 

00 

halt computer if all program words have 
been entered. 

52 

11 

47 

jump to 47 to repeat loop if all program 
words have not yet been entered. 

53 

00 

00000 

Constant. 

54 

55 

56 

57 

-07 

00000 

Input-instruction constant. 

Address of first instruction word stored 
here. 

Number of program words location. 
Input-instruction word location. 


the first word of the program is added to the input-instruction constant 
and, when it is executed, the first instruction word is transferred to the 
first address reserved in memory for the program. BR keeps count of the 
number of words entered, and also modifies the input-instruction constant 
each time the loop is repeated. 

The entire loading program is shown in Table 26. In step 40, the address 
of the first program word is stored. In step 41, the first word on the tape, 


378 


FUNCTIONAL UNIT 


SPECIMEN COMPUTER 


379 


specifying the number of program words, is stored. In steps 42 and 43, 
the input-instruction constant is added to the “location of the first word,” 

—07 00000 Input instruction constant 
00 00001 “Location of first program word” 

—07 00001 Input instruction 

and the resultant input instruction is stored for later use. In step 46, 
BR is set to 0 in preparation for the program loop occupying steps 47 
to 50. Step 47 stores the manufactured input instruction. The first time 
it is executed, the first program word is transferred from the tape to the 
first location in the program. This is immediately followed by a test to 
see whether the specified number of program words has been entered. 
During the first time through the loop, the computer jumps to location 52, 
at which point a jump to the instruction in 47 causes the loop to repeat. 

During the second time through the loop, BR stores a 1, thus sending 
the second program word to the following location in memory. Each 
successive program word is entered into a successive memory location 
until all words have been entered. At this point the test -BR instruction 
causes the computer to sequence to 51, and the machine halts. 

Program Debugging 

Programming is the art of describing a task so completely that a machine 
can perform it by following blindly the step-by-step procedures given. 
Because of this requirement for meticulous detail, the first results of a 
programmer’s efforts are rarely correct. To test out or debug the program, 
the programmer has program test controls available to him. In the specimen 
computer, he has the one-instruction, breakpoint, and jump-no-jump 
switches. These program test switches are used together with the register 
display lights to find mistakes in the program. 

The number-comparison program may be debugged with the aid of 
the one-instruction switch and the register indicators. After the program 
is loaded, and a group of 60 punched numbers is mounted on the paper 
tape reader, the one-instruction switch is depressed. The first instruction 
of the program is executed after which the contents of PC, IR, AR, and 
BR are viewed on the panel. The one-instruction switch is depressed 
again, the second instruction in the program is executed, and the contents 
of the same registers are viewed once more. In this way, the results of 
each instruction are apparent, and the programmer can tell if there is a 
mistake in the program. A group of numbers to be compared and the 
contents of the registers during such a step-by-step operation are shown in 
Table 27. 

The above procedure may become tedious, especially in long, complicated 


TABLE 27 

Debugging Number-Comparison Routine 


Contents of Registers During Each Step of Routine 


Numbers to be Compared 

PC 

IR 

AR 

BR 


1st 

1200 

01 

1216 


1 


2nd 

1300 

02 

0721 


1 


3rd 

0500 

03 

0720 


1 


4th 

0700 

04 

0221 

1200 

1 


5th 

1400 

05 

0420 

-0100 

1 


• 

• 

06 

1411 

-0100 

1 

Breakpoint 

• 

• 

11 

1317 

-0072 

2 

Breakpoint 

• 

• 

13 

1103 

-0072 

2 


• 

0200 

03 

0720 

-0072 

2 


60th 

0600 

04 

0221 

1200 

2 




05 

0420 

0700 

2 




06 

1411 

0700 

2 

Breakpoint 



07 

0220 

0500 

2 




10 

0121 

0500 

2 




11 

1317 

-0071 

3 

Breakpoint 



13 

1103 

-0071 

3 




03 

0720 

-0071 

3 




04 

0221 

0500 

3 




05 

0420 

-0200 

3 




06 

1411 

-0200 

3 

Breakpoint 



11 

1317 

-0070 

4 

Breakpoint 



13 

1103 

-0070 

4 




03 

0720 

-0070 

4 




04 

0221 

0500 

4 




05 

0420 

-0900 

4 




• 

• 

• 

• 

Breakpoint 




Breakpoint 


03 

0720 

-0002 

72 

X 

04 

0221 

0500 

72 


05 

0420 

+0300 

72 


06 

1411 

+0300 

72 

Breakpoint 

07 

0220 

+0200 

72 

10 

0121 

0200 

72 


11 

1317 

-0001 

73 

Breakpoint 

13 

1103 

-0001 

73 

03 

0720 

-0001 

73 


04 

0221 

0200 

73 


05 

0420 

-0400 

73 


06 

1411 

-0400 

73 

Breakpoint 

11 

1317 

0000 

73 

Breakpoint 

12 

1114 

0000 

73 

14 

1021 

0000 

73 


15 

1500 

0000 

73 



380 FUNCTIONAL UNITS 

programs. Faster debugging may be obtained by placing the break¬ 
point switch on stop. The computer sequences until it reaches a branch 
instruction, and then stops to allow the programmer to view the contents 
of the registers. After he is satisfied, he flips the breakpoint switch to 
the proceed position, and the computer sequences until the next breakpoint 
is reached. Table 27 shows the contents of the registers at each break¬ 
point in the above program. 

When the computer stops at a breakpoint, a negative number in AR 
signifies that a jump will be executed next. If the programmer feels that 
the result of the previous operation is in error—the contents of AR should 
be +, for instance—he may test his belief by throwing the jump-no-jump 
switch to the no-jump position before throwing the breakpoint switch to 
proceed. If the machine now produces expected results, his hunch was 
correct. 

Operation and Maintenance 

Once a program is loaded and debugged, the mode switch is placed in 
the automatic position, and the computer performs the program. During 
operation, the register display lights flash on and off to indicate the 
changing contents of the registers. All is well, provided the following 
lights are on: 

1. Operate. 

2. Paper punch on. 

3. Tape reader on. 

The halt, parity, and overflow indicators are normally not on. Upon 
completion of a routine, the halt indicator goes on. If it goes on before 
the routine is completed, it indicates that a machine malfunction has 
occurred: 

1. In the memory or arithmetic units if the parity indicator goes on at 
the same time. 

2. In the arithmetic unit if the overflow indicator goes on at the same 
time. 

To forestall the occurrence of machine breakdown during operation, 
the specimen computer may be tested beforehand by means of a test 
routine. A test routine simply makes the machine go through its paces. 
It consists of a group of instructions utilizing all the variations of machine 
commands and transferring words to and from every address in memory. 
At the end of the routine, the final result is compared with what the result 
should be if all the operations have been properly performed. If the two 
are alike, the machine is in operating order. If the two are unlike. 


SPECIMEN COMPUTER 381 

something is wrong with the machine and it should be debugged before 
a program is run on it. 

A more sophisticated form of trouble-finding routine is the diagnostic 
routine. This routine not only tests the machine to see if it is operating 
but also determines in what area the trouble is! The operation of this 
routine is based on the fact that every instruction utilizes only certain 
functional blocks, some functional blocks being shared by several types of 
instruction. The routine may therefore determine the cause of trouble 
by a process of elimination. 

In outline, the diagnostic routine may operate as follows. First, since 
a comparison of numbers is required for practically every test, the adder 
is tested first. This is done by performing a series of additions on a set 
of standard numbers and then comparing the final result obtained with 
the correct sum. If the two are unlike, something is wrong with the adder. 
If the two are alike, the adder is tested further by means of a series of 
subtractions. 

DR and XR , the multiplier-bit flip-flop, and the multiply counter are 
tested by performing several multiplication instructions on standard 
numbers and then comparing the results obtained with the correct results. 
If the results are unlike, the actual location of arithmetic malfunction 
may be pinned down further by performing right-shift instructions. 

If the arithmetic unit has been tested and found to be in operating order, 
a series of store and transfer instructions transmitting a definite number 
between AR and every address in memory is performed. At the end of this 
series, the word finally found in AR is compared with the original word. 
If they are alike, the memory is in operating order; if not, the memory is 
not functioning properly. 

If both the arithmetic and memory units are functioning properly, 
the control unit may be tested by performing jumps and BR modifiable 
instructions. Again, a comparison may be used to determine if the control 
is functioning properly. 

Next the reader and input unit are tested by entering a word from the 
reader into memory, and then comparing this word with the same word 
stored in another location in memory. If the two are unlike, a malfunction 
is present in either the reader or the input unit. If the two are alike, the 
input system is in operating order. 

Naturally, the routine is more devious than described. By a judicious 
choice of instructions and factors to be transferred and operated upon, 
it is possible to develop a diagnostic routine which would narrow the 
malfunction to a very small area in the machine. The routine may be 
written so that, when a malfunction is discovered, a code number specifying 
the functional area at fault is punched out on the paper tape. 




Bibliography 


The following is a selected bibliography of publications in the digital 

computer field. Only publications of about the same order of difficulty 
as this book are included. 

Books 

1. Booth, A., and Booth, K. H. V., Automatic Digital Calculators, Butterworth 
Scientific Publications, London, 1953. 

2. Bowden, Faster than Thought , Pitman and Sons, Ltd., London, 1953. 

3. Canning, R. G., Electronic Data Processing for Business and Industry , John Wiley 
and Sons, Inc., New York, 1956. 

4. Eckert, W. J., and Jones, R., Faster, Faster, McGraw-Hill Book Co., Inc., New 
York, 1956. 

5. Engineering Research Associates, High Speed Computing Devices, McGraw-Hill 
Book Co., Inc., New York, 1950. 

6. Gotlieb, C. C., and Hume, J. N. P., High Speed Data Processing, McGraw-Hill 
Book Co., Inc., New York, 1958. 

7. Irwin, W. C., Digital Computer Principles, D. Van Nostrand Co., Inc., New 
York, 1960. 

8. I vail, T. E., Electronic Computers, Principles and Applications, Philosophical 
Library, Inc., New York, 1960. 

9. Kozmetsky, G., and Kircher, P., Electronic Computers and Management Control , 
McGraw-Hill Book Co., Inc., New York, 1956. 

10. McCracken, D. D., Digital Computer Programming, John Wiley and Sons, Inc., 
New York, 1957. 

11. Phister, M., Logical Design of Digital Computers, John Wiley & Sons, Inc., 
New York, 1958. 

12. Richards, R. K., Arithmetic Operations in Digital Computers, D. Van Nostrand 
Co., Inc., New York, 1955. 

13. Richards, R. K., Digital Computer Components and Circuits, D. Van Nostrand 
Co., Inc., New York, 1957. 

14. Wilkes, M. V., Automatic Digital Computers, John Wiley and Sons, Inc., New 
York, 1956. 

15. Wilkes, W. G., Preparation of Programs for an Electronic Digital Computer , 
Addison-Wesley Publishing Co., Inc., Cambridge, 1951. 

Periodicals 

1. Computers and Automation , Edmund C. Berkeley & Associates, New York. 

2. IBM Journal of Research and Development, New York. 

383 


384 


BIBLIOGRAPHY 


3. Journal of the Association of Computing Machinery , New York. 

4. Transactions of the Professional Group on Electronic Computers of the Institute of 
Radio Engineers , New York. 

5. Datamation , Ridgefield, Conn. 

Bibliographies 

1. Bibliography on Office Automation , Controllership Foundation, 1 E. 42nd St., 
New York. 

2. Electronic Data Processing in Industry , American Management Association, 330 W. 
42nd St., New York. 

3. Transactions of the Electronic Computer Group of the Institute of Radio Engineers. 
March issue of each year gives list of papers printed during previous year. 


Glossary 


ABSOLUTE ADDRESS —The label assigned to a storage location by the machine 
designer. 

ACCESS Tl ME —The time it takes to complete a transfer to or from a storage device. 

ACCUMULATOR —A register which accumulates totals and stores the results of 
most arithmetic operations. 

ADDRESS —An expression which designates the location of a character or word in a 
storage device. 

AMPLIFYING ELEMENT —A device which increases or maintains the energy of 
signals representing bits or digits. 

AND ELEMENT —A device which produces an output only when all input signals 
are present. 

ASYNCHRONOUS COMPUTER —A computer whose subcommands are not 
executed according to times from a master clock; one operation begins after the previous 
operation is completed. 

B-REGISTER —A counter used to modify address portions of instructions before 
the instructions are executed. Also called 5-Box and index register. 

BAND —A group of tracks which are often written onto or read from at one time. 

BASE —Number of digits (or bits) to a number system. 

BINARY —Involving the integer two. 

BINARY ADDER —A device which produces the correct binary sum and carry bits 
with each combination of augend, addend, and previous carry bits. 

BINARY CODED-DECIMAL NOTATION —A decimal number system in 
which each digit is represented by a group of bits (for instance, 8421, excess-3 systems). 

BINARY COMPARATOR —See quarter adder. 

BINARY COUNTER —A device or circuit which counts in the binary number 
system; produces numbers consisting of 1-0 combinations when pulses are applied to 
its input. 

BINARY POINT —The point which marks the separation between integral powers 
of 2 and fractional powers of 2. 


385 


386 GLOSSARY 

BIT —One of the two elements used in the binary number system. Also one of the two 
elements used in coded-decimal systems. 

BIT-TIME —The time for the passage of a bit in a serial system, for the passage of a 
word in a parallel system, and for the passage of a digit in a serial-parallel system. 

BLOCK —A group of words considered or transported as a unit, particularly with 
reference to input and output. 

BRANCH INSTRUCTION —An instruction which may cause the machine to 
choose the next instruction out of the usual sequence. Examples: Unconditional and 
conditional jumps and comparison. 

BREAKPOINT —A point in a routine where the computer may be stopped by the 
operator for a check of the routine. 

BREAKPOINT SWITCH —A switch which causes the computer to stop at certain 
instructions in the program; for instance, at conditional jumps or at conditional halts. 

BUFFER STORAGE —A storage device used to accommodate differences in the rate 
of flow or in method of transmission between two devices when transmitting information 
from one to the other. 

CARRY —The digit to be added to the next higher column when the sum of the digits 
in one column is greater than the radix. 

CHANNEL —A path along which information may flow. 

CHARACTER —A digit, letter, or punctuation symbol, or their coded repre¬ 
sentations. 

CHARACTERISTIC —That part of a floating-point representation which indicates 
the size of the exponent. 

CLEAR —To restore a storage device to a prescribed state, usually zero. 

CLOCK —A circuit or some physical arrangement which produces pulses at a steady 
rate. 

CLOCK PULSE —One of a stream of pulses occurring at a constant frequency. 

COINCIDENT-CURRENT STORAGE —A bulk storage device composed of 
storage cells in a rectangular array. Information is written into and read from a location 
by sending current coincidentally to the column and row lines in which the location 
occurs. 

COMMAND —The portion of the instruction which tells the computer what to do 
(add, transfer, etc.). 

COMMON LANGUAGE MACHINE —A machine whose output is understood 
by many other machines. Usually referred to machines using 5-hole punched paper tape. 

COMPARATOR —A functional building block which determines whether two input 
pulse combinations are the same or different. 

COMPARISON INSTRUCTION —An instruction which compares two numbers 
to see which is larger or smaller and then performs a jump on the basis of the result. 


GLOSSARY 387 

COMPLEMENT —10’s—The number which must be added to the given number to 

obtain the modulus in the decimal system. 

9's—One less than the 10’s complement. 

2’s—The number which must be added to the given number to 
obtain the modulus in the binary system. 

1 ’s—One less than the 2’s complement. 

COMPLEMENTING FLIP-FLOP —A flip-flop which always reverses states upon 
application of an input signal. 

CONDITIONAL HALT— An instruction which causes the machine to come to a 
halt only if a halt switch on the control panel is thrown. 

CONDITIONAL JUMP— An instruction which causes the machine to execute 

a specified instruction out of the normal sequence, only if certain conditions are 
met. 

CONTINUOUS RECORD —A record where a long string of information is 
stored on one unit. A good example is magnetic tape. 

CONVERTER —A device for converting information stored in one form into 

information in another form. This device usually operates externally to the computer 
itself. 

COORDINATE ACCESS STORAGE —A storage device whose word locations 
are arranged in space. 

CYCLE TIME —The time between references to the storage device. 

CYCLIC ACCESS STORAGE —A storage device whose word locations are 
arranged in time (as well as space) in such a manner that access to any one location may 
be obtained repeatedly according to a definite rate. 

DATA WORD —A data word consists of numbers or characters which are to be 
processed. A number word may consist of digits and sign. 

DECIMAL COUNTER —A counter which counts in the decimal number system— 
produces numbers consisting of combinations of digits 0 to 9—when pulses are applied 
to its input. 

DECODER —A network of and circuits which is used to convert a combination of 
signals into an output on one of several output lines. 

DESTRUCTIVE READ-OUT —Storage in which the information is changed when 
it is read out. 

DETECTOR —A functional building block which produces a pulse when certain 
combinations of pulses are applied to it. 

DIAGNOSTIC ROUTINE —A routine placed in the computer which is used to 
determine the cause of a malfunction in the computer or a mistake in coding. 

DIFFERENTIATOR —A circuit which produces narrow pulses coincident with and 
in the same direction as the leading and trailing edges of an applied square wave. 

DIGIT- A symbol representing one of the elements in a positional number system. 


388 GLOSSARY 

DOUBLE-RANK REGISTER —A shift register consisting of two rows of storage 
cells: one row for actual storage of the bits, the other row for temporary storage of bits 
while they are being shifted to another stage. 

DYNAMIC FLIP-FLOP —A circuit with two inputs and two outputs. The set input 
pulse produces a series of pulses on the 1-output side and no pulses on the zero output 
line. The reset input pulse produces the reverse. 

DYNAMIC STORAGE CELL —A cell which has two possible outputs: a con¬ 
tinuous series of pulses (one) or of no pulses (zero). A set pulse flips the cell into the 
one state; a reset pulse flips the cell into the zero state. 

ENCODER —A network of or circuits in which only one input is excited at a time 
and each input produces a combination of outputs. 

ERASABLE STORAGE —Storage in which bits may be replaced by other bits. 

EXCESS-3 CODE —A number code in which the decimal digit is represented by the 
binary equivalent of the number plus 3. 

EXCLUSIVE OR CIRCUIT —A circuit which produces an output only when either 
one or the other of two inputs but not both are present. 

EXTERNAL READER —A device which translates the information stored on 
external storage medium into electric pulses which may then be fed to the input register 
of the computer. 

EXTERNAL STORAGE —Information stored on a medium that is not permanently 
connected to the computer. External storage is understood by the computer. 

EXTERNAL WRITER —A device which translates the electric pulses from the 
output register of the computer into information stored on the external storage medium. 

EXTERNALLY PROGRAMMED COMPUTER— A computer whose instruc¬ 
tions are fed to it from the outside, as from a plugboard, pinboard, or punched card. 

EXTRACT —The process of removing a portion of a word by combining another 
word with it according to the rules of logical multiplication (and). 

FIXED-POINT COMPUTER —A computer in which the decimal or binary point 
is assumed to be in a fixed location. 

FIXED WORD —A word possessing a fixed number of digits. 

FLIP-FLOP —A 1-bit storage device with two input terminals and 2 output terminals. 
The device remains in either state until caused to change to the other state by application 
of the corresponding signal. In either state the signal on one output terminal is out of 
phase with the signal on the other output terminal. 

FLOATING-POINT COMPUTER —A computer which carries data words in 
exponential form. It can deal directly with fractional as well as integral numbers. 

FORBIDDEN-COMBINATION CHECK— A check which tests for occurrence 
of a nonpermissible code combination. 

FOUR-ADDRESS INSTRUCTION —An instruction with 4 addresses. These 
addresses specify the two operands, the result, and the address of the next instruction to 
be executed. 



GLOSSARY 389 

FRACTIONAL COMPUTER —A computer dealing with fractional numbers, that 
is, numbers smaller in magnitude than one. 

GATE —Another name for a switching circuit. 

Read-in—switching circuit which allows information to be written into a 
register. 

Read-out—switching circuit which allows information to be read from a 
register. 

GENERATOR CIRCUIT— A circuit which generates a certain combination of 
pulses under certain circumstances. 

HALF-ADDER —A device which produces the binary sum and carry of two bits. 

HYSTERESIS —The property of magnetic materials which prevents them from 
coming back to their original magnetic state after the magnetizing force is removed. 

HYSTERESIS LOOP —A graphical representation of the variation in the state of a 
magnetic material as the magnetic force applied to it is varied in the plus and minus 
directions. 

INHIBIT ELEMENT —A device which allows a signal to pass through only when 
another signal is not present. 

INSTRUCTION WORD —A word used to inform the machine what operation to 
perform. It consists of a command and one or several addresses. 

INTEGRAL COMPUTER —A computer dealing with whole numbers, that is 
numbers above 1 in magnitude. 

INTERLOCKING —The process of making sure that when two operations are 
proceeding at the same time, no interaction can occur between the two parts of the 
machine performing each of the two operations. In case of conflict one of the operations 
is made to stop. 

JUMP —An instruction which conditionally or unconditionally directs the computer 
to the next instruction. It usually alters the normal instruction sequencing. 

LEAST SIGNIFICANT DIGIT —The rightmost digit of a number. 

LOOP —Repetition of a group of instructions in a routine. 

MAGNETIC SATURATION —The point where any further increase in the 
magnetizing force applied to a magnetic material causes an almost negligible change in 
the magnetic state of the material. A material may be magnetically saturated in one of 2 
possible directions. 

MALFUNCTION —A failure in operation of the computer hardware. 

MANTISSA —That part of a floating point representation which specifies the 
significant digits of the number. 

MARGINAL CHECKING —Preventive maintenance procedure in which certain 
operating conditions, such as supply voltage, are varied about their normal values in 
order to detect incipient defective units. 

MEMORY— Internal storage forming an integral part of the computer and directly 
controlled by the computer. 


390 


GLOSSARY 


GLOSSARY 


391 


MEMORY INSTRUCTION— An instruction which makes reference to the 
memory. 

MODULUS —One more than the maximum number attainable in any practical 
counting device. 

MODULUS CO U NTER —A device which produces an output pulse after a certain 
number of input pulses or multiples of this number are applied. 

MOST SIGNIFICANT DIGIT —The leftmost digit of a number. 

NONDESTRUCTIVE READ-OUT —Storage in which bits remain stored even 
after they are read out. 

NONERASABLE STORAGE —Storage which does not allow the bits to be erased. 

NONVOLATILE —Storage which does not lose its information even when the 
power is turned off. 

NONRETURN-TO-ZERO MAGNETIC RECORDING— Magnetic recording 
in which a one is written when current flows in one direction, and a zero is written 
when current flows in the opposite direction. Current passes through the zero point only 
when a one is followed by a zero, or a zero is followed by a one. 

OCTAL NOTATION —A system for representing numbers in the radix of 8. 

OFF-LINE OPERATION —Operation of a device which may proceed concurrently 
with computer operation. 

ON-LINE OPERATION —Operation of a device which is tied directly with 
computer operation. 

OR ELEMENT —A device which produces an output if one or all of its input lines 
are energized. This circuit performs the inclusive or function. 

ORDER —Rank of bit position in a coded decimal system. 

ONE-ADDRESS INSTRUCTION —An instruction word with only 1 address. 
The address indicates one of the operands upon which the operation is to be performed. 

OVERFLOW— The occurrence of a carry from the most significant position of a 
word. 

PARALLEL-SERIAL TRANSMISSION —All digits are transmitted in parallel; 
but the bits of the digits are transmitted serially. 

PARALLEL STORAGE— Storage in which all bits, characters or words are 
essentially equally available in space. Time is not one of the coordinates. 

PARALLEL TRANSMISSION —All bits of a word are transmitted simultaneously. 

PARITY CHECK —Comparison of sum of 1 bits in a coded representation to see if it 
is odd or even. 

PROGRAM —Detailed plan for solution of a problem. 

PYRAMID OR TREE —A decoding network which looks like a pyramid. 

QUARTER-ADDER —A device which produces a one when its two input bits are 
unequal and a zero when equal. A binary comparator. 


RADIX— See BASE. 

RANDOM ACCESS DEVICE A device in which it takes as long to obtain access 
to one address as it docs to any other address. 

READING —The process of determining what bits or digits are stored in a storage 
device. The information may or may not be erased during reading. 

RECORDER A device which is used to manually write onto a document or storage 
medium. 

RECTANGLE —A modified matrix. 

REDUNDANCY CHECK A check which uses extra digits to help detect 
malfunctions and mistakes. 


REGISTER— A device or circuit used to store temporarily numbers consisting of 
several digits. 

REMANENCE —The magnetic state in which a magnetic material falls when the 
magnetizing force is removed. Materials have positive and negative remanence states. 

RING COUNTER —A device consisting of a 
elements, only one of which can be in a specified state at any time. Each successive 
applied pulse causes another element in the loop to switch to the specified state. 

RETURN-TO-ZERO MAGNETIC RECORDING— Magnetic recording in which 
a one is written by a pulse of current rising to a level and then returning to zero; and a 
zero is written by a pulse of current rising to a level in the opposite direction and then 
returning to zero. 

RELATIVE ADDRESS —An address which is easily converted to an absolute 
address by adding or subtracting a factor. 

ROUTINE —A set of instructions arranged in sequence which directs a computer to 
perform a certain operation or series of operations. 

SAMPLING INSTRUCTION —An instruction which looks at the state of the 
input register. If it is not full, the next instruction in sequence is executed. If it is full, 
the contents are transferred to the memory and an instruction out of sequence is 
executed next. 


loop of interconnecting bistable 


SELECTOR —A circuit which chooses instructions to be executed. 

SELF-CHECKING CODE —A code in which it is easy to check each character 
because of a redundancy in each character. 

SELF-COMPLEMENTING CODE —A code in which all numbers may be 
converted to their 9’s or l’s complements by inverting l’s and 0’s. 

SENSE AMPLIFIER —An amplifier plus the associated circuitry required to convert 
storage output signals into a form which makes them understood by the rest of the 
computer. 


SEQUENTIAL ACCESS STORAGE— A storage device whose word locations are 
arranged in time in such a manner that access to any one location may normally be 
obtained only once during an operation. 


392 GLOSSARY 

SERIAL-PARALLEL TRANSMISSION —All digits are transmitted serially; but 
the bits which make up the digits are transmitted in parallel. 

SERIAL STORAGE —Storage in which time is one of the coordinates used to locate 
any given bit, character or word. 

SERIAL TRANSMISSION —All bits of a word are transmitted sequentially. 

SIGNIFICANCE —Rank of digit position in a number. 

SQUARE HYSTERESIS LOOP —A hysteresis loop where the upper and lower 
saturation lines are fairly flat. 

STATIC STORAGE —A storage device which stores bits by staying in one of several 
stable states. 

STORAGE ELEMENT —A device which is used to store bits or digits either 
temporarily or permanently. 

STORED PROGRAM COMPUTER —A computer whose program is stored in the 
memory of the machine. The program is usually prepared on an external storage 
medium and then fed to the memory. 

SUBCOMMAND —One of the many operations that must be performed in order to 
complete a command. Examples; opening a gate, resetting a flip-flop, causing a 
register to shift its contents to the right. 

SUBRO UTIN E —A subunit of a routine. A portion of the routine which causes the 
computer to perform a well defined operation. 

SWITCHING CIRCUIT —A device which produces an output for certain com¬ 
binations of input. 

SYNC PULSE —Pulse produced upon coincidence of input timing pulse from 
external storage and timing pulse from computer. This pulse is used to gate the 
associated digit into the input register. 

TEMPORARY STORAGE COMPONENT —A component which stores bits for 
a short time; a delay element. 

TEST ROUTINE —A routine which tests for proper functioning of the computer. 

THREE-ADDRESS INSTRUCTION —An instruction with 3 addresses. These 
addresses specify the two operands and the address of the result. 

TlMING PULSE —A pulse always occurring at a definite point in a repeated cycle. 

TRACK —That portion of a moving type storage medium (tape, drum, etc.) which is 
accessible to a given writing or reading station. 

TRANSLATOR —A network to which are applied signals representing information 
in a certain code and the outputs of which are signals representing the same information 
but in a different code. 

TRUTH TABLE —A statement of all conditions of a problem in tabular form. 

TWO-ADDRESS INSTRUCTION —An instruction word with 2 addresses. One 
address indicates one of the operands upon which the operation is to be performed; 
the other address indicates where in memory can be found the next instruction. 



GLOSSARY 393 

UNCONDITIONAL JUMP An instruction which always causes the machine 
to execute a specified instruction out of the normal sequence. 

U NIT RECORD — A record where a small group of characters is stored as one item. 
Unit records are easy to flic. Punched cards are an example. 

VARIABLE WORD A word composed of a variable number of characters. 

VOLATILE STORAGE Storage which loses its information with time, or if the 
power is turned off. 

WRITING —The process of placing bits or digits into a storage device. 

WORD —A set of bits or digits which is treated by the computer as a unit. 

WORD SPACE —The space (usually in storage) occupied by a word, plus the space 
between words if present. 

WORD-TIME —The time it takes for a word space to pass by a certain point. 
Used especially in reference to serial storage devices. 

WORD-TIME ADDRESS —Numerical value given to the word space in storage 
with reference to a certain zero point in time. Used especially in reference to serial 
storage devices. 

WRITE AMPLIFIER —An amplifier plus the associated circuitry required to convert 
computer information signals into the form needed for driving a storage device. 



Index 


Abacus, 3 

Access, coordinate, 256 
cyclic, 256, 273 
random, 258, 273 
sequential, 257, 273 
time, 257, 273 
Accumulator, 301, 325 
Accuracy of computer, 7 
Acoustic delay, 210 
Addend, 57 
Adder, abacus, 3 

binary, see Binary adder 
coincidence, 300 
counter type, 300 
half, 86, 91, 97, 106 
parallel, 301 
quarter, 86, 91, 97 
serial, 301 
serial-parallel, 305 
specimen computer, 360 
Addition, algebraic, 56, 307 
binary, 35 
Address, 241, 252 
Address selection, 258, 332, 353 
Algebra of classes, 82 
Alphanumeric code, 52, 111 
Amplification, 93 
Amplifier, magnetic, 167 
Amplifying circuits, electromagnetic, 
167 

relay, 109 
transistor, 199 
vacuum tube, 135 
Analog computer, 7 
Analog-to-digital converter, 287 
and element, cryotron, 212 


and element, expression, 82 
inverted, 84 
logical block, 89 
mechanical, 101 
relay, 101 

semiconductor diode, 213 
truth table, 90 
vacuum tube, 130 
and-or relationship, 93 
Approximation formula for square 
root, 68 

Arithmetic, binary, 35 
Associative law, 83 
Asynchronous operation, 334, 346 
Augend, 57 

Auxiliaries, input and output, 286 
B box, 339 

B register, 339, 346, 370 
B register instruction, 339, 370 
Band, 179 
Base, 29 

Binary adder, block diagram, 91, 92, 95 
cryotron, 213 
definition, 97 

expressions, 87, 91, 107, 132 
relay, 107 
truth table, 87 
vacuum tube, 132 
Binary arithmetic, 35, 69 
Binary comparator, definition, 85, 97 
expression, 85 

logical block diagram, 90, 95 
relay, 105 
truth table, 85 
Binary number system, 33 


396 


INDEX 


INDEX 


397 


Binary-octal equivalents, 42 
Binary point, location of, 71 
Bistable devices, as components for 
logic, 209 
Bit, 33, 45 
Block, 283, 298 
Branch instruction, 335, 346 
Breakpoint, 343, 346 
Building blocks, functional, 228 
logical, 226 
Bus, memory, 261 

Calculating machines, 4 
Carry, end-around, 58, 70 
propagation of, 302 
Casting out 7’s, 75 
Casting out 9’s, 75 
Cathode follower, 131 
Cathode ray tube, 125 
Channel, 245, 253 
Characteristic, of a number, 239 
Checking, blank column and double 
punch, 296 
casting out 7’s, 75 
casting out 9’s, 75, 323 
comparison, 296 
echo, 296 

forbidden combination, 51, 54, 197 

forbidden operation, 324 

inverse arithmetic, 323 

language, 247 

parity, 51 

self-, 18 

specimen computer, 354 
Circuit, adder, 107, 132, 301, 305, 360 
amplifying, 109, 135, 167, 199 
and, 101, 131, 213 
binary comparator, 105 
complementer, 135 
counter, 143, 146, 176, 230 
decoder, 104, 162, 193, 217 
delay line, 123, 210 
differentiator, 122 
encoder, 103, 162, 194 
flip-flop, 94, 139, 143, 177, 203, 215 
half adder, 106 
inhibit, 101, 130, 166, 190 
or, 101, 130, 163, 192, 213 
pulse reshaper, 136 


Circuit, register, 114, 140, 174, 181, 
204 

selector, 162 

storage, 136, 168, 173, 177, 203, 210, 
218 

switching, 128, 130, 161, 192, 195, 
213 

Clock pulse, 167, 184, 273 
Code, alphanumeric, 52 
command, 249 

for specimen computer, 374 
Excess 3, 46 
Excess 6, 46 
modified bi-quinary, 52 
modified qui-binary, 52 
nonweighted 4-bit, 46 
self-checking, 51 
self-complementing, 50 
7-bit, 52 
teletype, 53 
two out of five, 52 
weighted bit, 45 
Coded-decimal notation, 45, 54 
Coincident-current storage, 168, 173, 
184 

Coincident electric storage, 218 
Column address, 258 
Command, 241, 252 
Command code, see Instructions 
Command translator, 331 
Communication devices, 295 
Commutative law, 83 
Comparison instruction, 337, 346 
Complement form for numbers, 239 
Complementer, 5421 code, expression, 
87 

truth table, 88 
vacuum-tube circuit, 135 
Complements, principle of, 46 
l’s and 2’s, 50, 54, 82, 231 
9’s and 10’s, 49, 54 
Computer, analog, 7 
digital, 7 

fractional, 239, 252 
functional organization of, 13 
general-purpose, 251 
integral, 239, 252 

logic, characteristics of component 
for, 209 


Computer, special piuposo, 231 
specimen, characteristics of, 347 
Conditional halt, 338, 346 
Conditional jump, 333, 346 
Console of specimen computer, 371 
Continuous record, 283, 298 
Control, arithmetic, 314, 317 
asynchronous, 333 
input, 276 
output, 276 

of specimen computer, 366 
synchronous, 333 
unit, 326 

Converter, analog-to-digital, 288 
definition, 298 
digital-to-analog, 290 
magnetic tape to high-speed printer, 
294 

mechanical encoding, 289 
punched card to magnetic tape, 291 
time encoding, 288 
Coordinate access storage, 256, 273 
Core, magnetic, 155 
Core storage array, 168 
Corrector, for binary-coded decimal 
adder, 305 

Counter, backward counting, 231 
binary, 143 
cycle, 329 
decade, 223 
decimal, 146 
electromagnetic, 176 
forward counting, 230 
modulus, 176, 230 
program, 327 
ring, 146, 230 
vacuum tube, 143 
Counting, 29 
Counting board, 3 
Cryotron, 212 
Crystal, germanium, 185 
Cycle counter, 329 
Cycle, machine, 327, 331, 335, 352 
Cycle time, 257, 273 
Cyclic access storage, 256, 273 

Data word, 238 
Decade counter, 223 


Decimal point, location of, 71 
Decoder, cryotron, 217 
definition, 103, 118 
diode matrix, 192 
electromagnetic, 162 
excess-3 to decimal, 193 
relay tree, 103 
Delay lines, acoustic, 210 
electric, 123 

Detector, definition of, 232 
end-of-block, 232, 265 
forbidden combination, 5421 code, 
197 

Diagnostic routine, 345 
Difference, 57 
Differentiator, 122 
Digit, 1, 54 

Digital-to-analog converter, 290 
Diode, germanium, 188 
Diode translator, .195 
Disk, magnetic, 182 
Distributive law, 83 
Division, mechanization of restoring 
method, 318 
nonrestoring method, 63 
pencil and paper method, 61 
repeated subtraction method, 61 
restoring method, 62 
Domain theory, 153 
Dot convention for magnetic cores, 155 
Double-rank shift register, 204, 207 
Doughnut-shaped core, 155 
Drum, magnetic, 179, 269, 286 
Duodecimal notation, 32 
Duplication, checking by, 75 
Dynamic flip-flop, 177, 184 
Dynamic storage, 177, 184 

Electro-optical devices, 219 
Electrostatic decade counter, 223 
Emitter follower, 191 
Encoder, decimal-to-binary-coded deci¬ 
mal, 194 
definition, 103 
diode matrix, 194 
relay, 103 
wired-core, 162 
End-around carry, 58, 70 



INDEX 


INDEX 


398 

Excess-3 code, 46 
Excess-6 code, 46 
Exclusive or, definition, 81, 97 
logical block diagram, 90 
truth table, 86 
Execute phase, 327, 367 
Exponential numbers, 29, 239 
External storage, 255, 285, 298 
Extract, 321, 325 

Ferrite-apertured plate, 171 
Ferrite core, 153 
Ferroelectric storage, 218 
Fetch phase, 327, 366 
Fixed-point computer, 239, 252 
Fixed word, 240, 252 
Flip-flop, complementing, 144 
cryotron, 215 
dynamic, 177 
standard, 94 
transistor, 203 
vacuum tube, 139, 144 
Floating point representation, 239, 252 
Forbidden combination check, 51, 55 
Forbidden combination detector, 5421 
code, 197 
Formal logic, 79 
Fractional computer, 239 
Functional building blocks, adder, 233 
comparison circuit, 233 
counter, 230 
detector, 232 
gate, 228 
generator, 231 
register, 228 
selector, 231 

Gates, 228 

General-purpose computer, 251 
Generator, clock pulse, 232 
timing pulse, 232 
two’s complement, 231 
Germanium, 185 
Germanium diode, 188 
Graphical logic, 79 

Half adder, expression, 86 
logical block diagram, 90 
relay, 106 


Half adder, truth table, 86, 97 

Half-current pulses, coincidence with, 
163 

Halt instruction, 338 
Head, magnetic, 160 
Hexadecimal notation, 32 
High-speed printer, 294 
Hysteresis loop, definition, 152, 184 
ferroelectric, 218 
magnetic core, 152, 184 
nonsquare, 153 
square, 153 

Impedance switching devices, 157 
Index register, 339 
Induction, magnetic, 150 
Information rearrangement, 279 
Inhibit, electromagnetic, 166 

s 

inverted, 84 
logical block, 89 
relay, 101 
transistor, 190 
truth table, 89 
vacuum tube, 130 
Input and output auxiliaries, 286 
Input-output, independent operation of, 
281 

of specimen computer, 355 
Input register, 276 
Input unit, 275 
Instruction modification, 338 
in specimen computer, 370 
Instruction sequencing, 1-address, 327 

2- address, 329 

3- address, 331 

4- address, 331 

in specimen computer, 366 
Instruction types, add, 363 
add address, 338 
B register, 339 
branch, 335 
clear add, 363 
comparison, 337 
conditional halt, 338, 346 
for specimen computer, 348 
grouping of, 248 
halt, 338 
input, 355 
jump, 335 


399 


Instruction types, memory, 261, 367 
multiply, 364 

nonmemory, 261, H4, 367 

punch, 357 

read, 261 

right shift, 364 

sampling, 281, 337 

set B register, 341, 370 

store, 366 

subtract, 363 

test B register, 341, 370 

transfer, 261 

write, 261 

Instruction word, I-address, 238, 252 

2- address, 238, 253 

3- address, 238, 253 

4- address, 238, 253 
Integral computer, 239, 252 
Interlocking, 281, 283, 298 
Inverse arithmetic, 75 
inverted and, cryotron, 213 

element, 84 
expression, 84 
logical block, 90 
transistor, 195 
truth table, 90 
vacuum tube, 130 
inverted inhibit, element, 84 
expression, 84 
logical block, 90 
truth table, 90 
inverted OR, cryotron, 213 
element, 84 
expression, 84 
logical block, 90 
transistor, 195 
vacuum tube, 130 
Inverter, cryotron, 213 
electromagnetic, 166 
logical block, 89 
relay, 101 
transistor, 199 
truth table, 89 
vacuum tube, 130 
Iteration, square root, 68 

Jump, unconditional, 335, 346 
Jump-no-jump switch, 343 


Junction transistor, n-p-n, 189 
p-n-p, 191 

Language, machine, 15 
structure, 237 
word and number, 23 
Latency, 257, 273 

Least significant digit (LSD), 29, 45, 
54 

Left shift, 175 
Light amplifier, 222 
Loading controls, 342 
Loading program for specimen com¬ 
puter, 376 

Logic, basic elements of, 79 
blocks, 88 
connectives, 12, 80 
electromagnetic, 161 
graphical, 79 
identities, 82 
laws, 83 
math, 82 

relay elements, 101 
semiconductor elements, 185 
vacuum-tube elements, 128 
Logical algebra, 79 

Machine cycle, 327 
Machine language, 15 
Magnetization curve, 151 
Magnetostrictive delay, 212 
Maintenance of specimen computer, 
380 

Mantissa, 239 
Manual control, 341 
Manual input switch for specimen com¬ 
puter, 373 

Marginal checking, electromagnetic, 

159 

transistor, 191 
vacuum tube, 127 

Matching input-output to rest of com¬ 
puter, 280 

Mathematical logic, 82 

Memory of specimen computer, 352 

Mercury tank, 210 

Microwave techniques, 223 

Minuend, 57 

Modified bi-quinary code, 52 
Modified qui-binary code, 52 



INDEX 


400 

Modular approach, 226 
Modulus, 31, 54 
Modulus counter, 176 
Molybdenum permalloy tape, 157 
Molypermalloy core, 153 
Most significant digit (MSD), 29, 45, 
54 

Multiplexing, 283 
Multiplication, binary table, 35 
circuit for binary, 312 
circuit for decimal, 316 
method of repeated addition, 60 
pencil and paper method, 58 
right- and left-hand component 
method, 59 

Multistable devices, 223 
Mylar tape, 160 

Negative numbers, 46 
Nonmemory instruction, 334 
Nonrestoring method of division, 63 
Nonreturn to zero recording, 180, 184 
Nonsquare hysteresis loop, 153 
Nonweighted 4-bit code, 46 
not, cryotron, 213 
element, 80 
expression, 82 
electromagnetic, 166 
logic block, 89 
relay, 101 
transistor, 199 
truth table, 90 
vacuum tube, 130 
Notation, binary, 33 

binary-coded decimal, 45, 54 
Number-comparison program, 373 
Numbers, additive, 26 
ancient systems of, 27 
binary, 33 
duodecimal, 32 
exponential, 29, 239 
hexadecimal, 32 
octal, 40, 42 
positional, 25, 31 
precision of, 240 
quaternary, 40 
reflected, 43 
roman, 26 
ternary, 33 


Octal-binary equivalents, 42 
Off-line operation, 290, 298 
On-line operation, 290, 298 
One-instruction switch, 343 
Operation of specimen computer, 380 
Operational controls, 342 
or, cathode follower, 131 
cryotron, 213 
electromagnetic, 163 
element, 81 
emitter follower, 191 
exclusive, 81, 83 
expression, 82 
inclusive, 81 
inverted, 84 
logical block, 89 
relay, 101 

semiconductor, 192, 195 
truth table, 89 
vacuum tube, 131 
Order, 45, 54 

Ordering of information, 276 
Organization of specimen computer, 
349 

Output register, 276 
Output unit, 275 

Overflow, exceed capacity, 307, 325 
in division process, 319 

Parallel transmission, 245, 253 
Parallel-serial transmission, 245, 253 
Parity bit detector for specimen com¬ 
puter, 354 

Parity bit generator for specimen com¬ 
puter, 354 

Parity checking, 51, 55 
Pascal, Blaise, 4 
Peripheral equipment, 290 
Photographic storage, 219 
Piezoelectric crystals, 211 
Plug-in unit, 227 
Plugboard, for converter, 293 
Positional number systems, 25, 31 
Printed circuit board, 227 
Printer synchronization, 294 
Printing devices, 112 
Program, counter, 327, 336 
debugging, 343 




INDEX 


Program, debugging of specimen com¬ 
puter, 378 
examples, 375, 377 
loop, 339 
preparation, 249 
Programming, 15, 371 
Pulse reshaper, 136 
Punched-card-to magnetic tape con¬ 
verter, 293 
Punched cards, 111 
Punched paper tape, 110 
in specimen computer, 357 

Quarter adder, dclinition of, 97 
logical block diagram, 90 
truth table, 86 
Quartz crystal delay, 211 
Quaternary, 40 

Radix, 29, 54 
Random access, 258, 273 
Read amplifier, transistor, 201, 208 
Reader, 277, 286, 298 
Recirculating register, drum, 182 
electromagnetic core, 174 
Read-write cycle, of specimen com¬ 
puter, 352 

Record, continuous, 285 
unit, 285 

Recorder, 291, 298 
Recording, magnetic, 181 
Rectangular diode decoding network, 
192 

Rectangular storage array, 168 
Redundancy, 19, 24, 51, 55 
Reflected numbers, 43 
Register, arithmetic, 229, 299 
buffer, 229 

definition of, 114, 118, 228 

display, specimen computer, 373 

double rank, 204 

drum recirculating, 182 

electromagnetic, 174 

index, 339 

input, 276 

instruction, 327 

output, 276 

relay, 114 

shift, 140, 163, 204 


401 

Register, transistor, 204 
vacuum tube, 140 
Relative address, 259 
Remanence, 152 

Residue modulus nine (RMN), 76 
Residue modulus seven (RMS), 77 
Restoring method of division, 62 
Return to zero recording, 180, 184 
Right shift, 174 
Roman number system, 26 
Row address, 258 

Sampling instruction, 337, 346 
Saturation, magnetic, 151, 184 
Selector, 162, 231 
Self-checking codes, 51, 54 
Self-checking machine, 18 
Self-complementing codes, 50, 55 
Semiconductors, 185 
Sense amplifier, transistor, 201 
Sequencing of instructions, 327 
Sequential access storage, 257, 273 
Serial-parallel transmission, 245, 253 
Serial transmission, 245, 253 
Set B register instruction, 341, 370 
Significance, 29, 45, 54 
Space address, 259 
Special-purpose computer, 252 
Specimen computer, add, clear add, and 
subtract, 363 
address selection, 353 
arithmetic, 357 
characteristics of, 347 
command code, 374 
control, 366 
debugging, 378 
input-output, 355 
instruction sequencing, 366 
loading, 376 
M register, 354 
manual input, 373 
memory, 352 

number comparison routine, 375 
operation and maintenance, 380 
organization, 349 

parity bit detector and generator, 354 
program, 373 
punch instruction, 357 
read-write cycle, 352 


402 

Specimen computer, register display, 
373 

right shift and multiply, 364 
store instruction, 366 
use of B register, 370 
using computer, 371 
Speed of computation, 5 
Square hysteresis loop, 153, 184 
Square root, approximation formula, 
68 

pencil and paper method, 65 
subtractive process, 66 
Storage, access, 256 

characteristics of components for, 
266, 285 

coincident current, 168, 173, 267 
coincident electric, 218 
destructive read out, 267, 273 
dynamic, 266, 272 
erasable. 266, 272 
external, 255, 285, 298 
need for, 93 

nondestructive read out, 267, 273 
nonerasable, 266, 272 
nonvolative, 266, 273 
static, 266, 272 
volatile, 266, 273 
Storage devices, cathode ray, 125 
chemical, 223 
diode-capacitor, 136 
dynamic storage, 177 
electromagnetic, 168 
electromechanical, 110 
electro-optical, 219 
ferrite, 212 

ferrite-apertured plate, 171 
ferroelectric, 218 
fused quartz, 211 
magnetic disk, 179 
magnetic drum, 179 
magnetic tape, 179 
magnetostrictive, 212 
mercury tank, 210 
microwave, 223 
nickel ribbon, 212 
photographic, 219 
transistor, 203 
twistor array, 173 
Subcommand, 331, 346 


INDEX 

Subtraction with the aid of comple¬ 
ments, 48, 309 
Subtrahend, 57 
Sum, 57 

Superconductive devices, 212 
Switching circuits, electromagnetic, 161 
electromechanical, 101 
resistor, 128 

semiconductor diode, 192 
superconductive, 213 
tetrode, 130 
transistor, 195 
triode, 130 
vacuum diode, 129 
Syllogism, 12, 34, 79 
Sync pulse, 277, 298 
Synchronization, 277, 294 
Synchronizer, 277 
Synchronous operation, 333, 346 

Tape, magnetic, 179 
Tape recording, 160 
Teletype code, 52 
Ternary, 40 

Test accumulator contents, 335 
Test B register instruction, 341 
Time, access, 257 
Time address, 259 
Timing problems, input-output, 277 
memory, 263 
Timing pulse, 180, 184 
Toroid, 155 
Track, 179 

Transfer instruction, 261 
Transfer of block of words, 264, 283 
Transformer action, 150 
Translation, binary to decimal, 38 
binary to octal, 42 
decimal to binary, 36 
of commands and addresses, 331 
write and read circuits, 262 
Translator, semiconductor diode, 193 
Transmission, parallel, 244 
parallel serial, 245 
serial, 244 
serial parallel, 245 
Transmission line, 123 
Tree encoder, relay, 103 
Trouble-shooting controls, 344 





Truth table, binary addoi, M7 
binary comparator, 8 5 
complementer, 5421 coda, 8K 

EXCLUSIVE OR, 85 
half-adder, 86 
purpose of, 85, 97 
quarter-adder, 85 
Twistor, 157, 173 
Two out of five code, 52 

Unconditional jump, 335, 346 
Unit record, 285, 298 
Universal class, 82 
Use of specimen computer, 371 

Variable word, 241, 252 
Verifier, 296 

Voltage switching devices, 157 


INDEX 403 

Waiting time, 257 
Weighted 4-bit codes, 45 
Weights, octal, 41 
of bit positions, 33, 39 
of decimal digit positions, 30 
of quaternary digit positions, 41 
of ternary digit positions, 41 
Wired core encoder, 162 
Word, data, 238, 252 
instruction, 237 
size, 240 
space, 271 
time, 271, 273 

Word selection technique, 173 
Write amplifier, transistor, 201, 208 
Writer, 286, 298 

Writing, in specimen computer, 354 
zero, 26